{
  "name": "Stripe Connector",
  "description": "",
  "version": "1.0.0-DELTA1",
  "vendor": "Mulesoft",
  "category": "COMMUNITY",
  "xmlDsl": {
    "prefix": "stripe",
    "namespace": "http://www.mulesoft.org/schema/mule/stripe",
    "schemaLocation": "http://www.mulesoft.org/schema/mule/stripe/current/mule-stripe.xsd",
    "schemaVersion": "1.0.0-DELTA1",
    "xsdFileName": "mule-stripe.xsd"
  },
  "resources": [],
  "subTypes": [],
  "privilegedPackages": [],
  "privilegedArtifacts": [],
  "externalLibraries": [],
  "importedTypes": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.runtime.api.store.ObjectStore",
        "extensibleType": {},
        "typeAlias": {
          "value": "ObjectStore"
        },
        "classInformation": {
          "classname": "org.mule.runtime.api.store.ObjectStore",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        }
      },
      "fields": []
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "org.mule.runtime.core.api.source.scheduler.Scheduler",
        "classInformation": {
          "classname": "org.mule.runtime.core.api.source.scheduler.Scheduler",
          "hasDefaultConstructor": false,
          "isInterface": true,
          "isInstantiable": false,
          "isAbstract": true,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "scheduling-strategy"
        }
      },
      "fields": []
    }
  ],
  "configurations": [
    {
      "stereotype": {
        "type": "CONFIG",
        "namespace": "STRIPE",
        "parent": {
          "type": "MODULE_CONFIG",
          "namespace": "MULE"
        }
      },
      "parameterGroupModels": [
        {
          "parameters": [
            {
              "type": {
                "format": "java",
                "type": "Number",
                "annotations": {
                  "classInformation": {
                    "classname": "java.lang.Integer",
                    "hasDefaultConstructor": false,
                    "isInterface": false,
                    "isInstantiable": false,
                    "isAbstract": false,
                    "isFinal": true,
                    "implementedInterfaces": [
                      "java.lang.Comparable"
                    ],
                    "parent": "java.lang.Number",
                    "genericTypes": [],
                    "isMap": false
                  },
                  "int": {}
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "1",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "responseTimeout",
              "displayModel": {
                "summary": "The timeout for request to the remote service."
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "java.util.concurrent.TimeUnit",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "NANOSECONDS",
                      "MICROSECONDS",
                      "MILLISECONDS",
                      "SECONDS",
                      "MINUTES",
                      "HOURS",
                      "DAYS"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "MINUTES",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "responseTimeoutUnit",
              "displayModel": {
                "summary": "A time unit which qualifies the Response Timeout}"
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String",
                "annotations": {
                  "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                  "enum": {
                    "type": "[Ljava.lang.String;",
                    "values": [
                      "AUTO",
                      "ALWAYS",
                      "NEVER"
                    ]
                  }
                }
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "SUPPORTED",
              "defaultValue": "AUTO",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "streamingType",
              "displayModel": {
                "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
              },
              "description": "",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "String"
              },
              "hasDynamicType": false,
              "required": true,
              "isConfigOverride": false,
              "isComponentId": true,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": false,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "allowedStereotypeModels": [],
              "name": "name",
              "description": "The identifier of this element used to reference it in other components",
              "modelProperties": {}
            },
            {
              "type": {
                "format": "java",
                "type": "Object",
                "annotations": {
                  "typeId": "org.mule.runtime.extension.api.runtime.ExpirationPolicy",
                  "description": {
                    "value": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit."
                  },
                  "typeDsl": {
                    "allowInlineDefinition": true,
                    "allowTopLevelDefinition": false
                  }
                },
                "fields": [
                  {
                    "key": {
                      "name": "maxIdleTime"
                    },
                    "model": {
                      "type": "Number",
                      "annotations": {
                        "int": {},
                        "classInformation": {
                          "classname": "java.lang.Long",
                          "hasDefaultConstructor": false,
                          "isInterface": false,
                          "isInstantiable": false,
                          "isAbstract": false,
                          "isFinal": true,
                          "implementedInterfaces": [
                            "java.lang.Comparable"
                          ],
                          "parent": "java.lang.Number",
                          "genericTypes": [],
                          "isMap": false
                        },
                        "default": "5"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A scalar time value for the maximum amount of time a dynamic configuration instance should be allowed to be idle before it\u0027s considered eligible for expiration"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  },
                  {
                    "key": {
                      "name": "timeUnit"
                    },
                    "model": {
                      "type": "String",
                      "annotations": {
                        "enum": {
                          "type": "[Ljava.lang.String;",
                          "values": [
                            "NANOSECONDS",
                            "MICROSECONDS",
                            "MILLISECONDS",
                            "SECONDS",
                            "MINUTES",
                            "HOURS",
                            "DAYS"
                          ]
                        },
                        "default": "MINUTES"
                      }
                    },
                    "annotations": {
                      "description": {
                        "value": "A time unit that qualifies the maxIdleTime attribute"
                      },
                      "expressionSupport": {
                        "value": "NOT_SUPPORTED"
                      }
                    }
                  }
                ]
              },
              "hasDynamicType": false,
              "required": false,
              "isConfigOverride": false,
              "isComponentId": false,
              "expressionSupport": "NOT_SUPPORTED",
              "role": "BEHAVIOUR",
              "dslConfiguration": {
                "allowsInlineDefinition": true,
                "allowsReferences": false,
                "allowTopLevelDefinition": false
              },
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4,
                "tabName": "Advanced"
              },
              "allowedStereotypeModels": [],
              "name": "expirationPolicy",
              "description": "Configures the minimum amount of time that a dynamic configuration instance can remain idle before the runtime considers it eligible for expiration. This does not mean that the platform will expire the instance at the exact moment that it becomes eligible. The runtime will actually purge the instances when it sees it fit.",
              "modelProperties": {
                "org.mule.runtime.extension.api.property.QNameModelProperty": {
                  "value": {
                    "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                    "localPart": "expiration-policy",
                    "prefix": "mule"
                  }
                },
                "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                  "sequence": 4
                }
              }
            }
          ],
          "exclusiveParametersModels": [],
          "layoutModel": {
            "password": false,
            "text": false,
            "query": false,
            "order": 1
          },
          "showInDsl": false,
          "name": "General",
          "description": "",
          "modelProperties": {}
        }
      ],
      "externalLibraryModels": [],
      "operations": [
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Charge",
                "description": {
                  "value": "To charge a credit or a debit card, you create a `Charge` object. You can\nretrieve and refund individual charges as well as list all charges. Charges\nare identified by a unique, random ID.\n\nRelated guide: [Accept a payment with the Charges API](https://stripe.com/docs/payments/accept-a-payment-charges)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "balance_transaction"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "billing_details",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "billing_details"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "Address"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "city"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "state"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "postal_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line2"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line1"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "email"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "failure_message"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "fraud_details"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "ChargeFraudDetails"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "stripe_report"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "user_report"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "amount_refunded",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "refunds",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A list of refunds that have been applied to the charge."
                      },
                      "label": "RefundList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "`Refund` objects allow you to refund a charge that has previously been created\nbut not yet refunded. Funds will be refunded to the credit or debit card that\nwas originally charged.\n\nRelated guide: [Refunds](https://stripe.com/docs/refunds)."
                              },
                              "label": "Refund"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "balance_transaction"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "reason"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "amount",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "charge"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "description"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "failure_reason"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "source_transfer_reversal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "failure_balance_transaction"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "receipt_number"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "transfer_reversal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "currency",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "payment_intent"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "refund"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "status"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "statement_descriptor"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "transfer_data"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "ChargeTransferData"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "amount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "destination",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "receipt_url"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "shipping"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Shipping"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "carrier"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "Address"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "city"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "state"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "postal_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line2"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line1"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tracking_number"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "review"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "captured",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "calculated_statement_descriptor"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "currency",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "refunded",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "outcome"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "ChargeOutcome"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "reason"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "risk_level"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "risk_score"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "rule"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "seller_message"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "network_status"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "type",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "payment_method"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "order"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "disputed",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "failure_code"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "transfer_group"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "on_behalf_of"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "payment_method_details"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "payment_method_details"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "giropay"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_giropay"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "bank_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bank_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "verified_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bic"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "alipay"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_alipay"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "ideal"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_ideal"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "bank"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "asn_bank",
                                      "ing",
                                      "triodos_bank",
                                      "moneyou",
                                      "abn_amro",
                                      "van_lanschot",
                                      "handelsbanken",
                                      "knab",
                                      "bunq",
                                      "sns_bank",
                                      "rabobank",
                                      "regiobank"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "iban_last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "verified_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bic"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "FVLBNL22",
                                      "INGBNL2A",
                                      "SNSBNL2A",
                                      "RABONL2U",
                                      "BUNQNL2A",
                                      "ASNBNL21",
                                      "RBRBNL21",
                                      "TRIONL2U",
                                      "MOYONL21",
                                      "KNABNL2H",
                                      "HANDNL2A",
                                      "ABNANL2A"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "ach_debit"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_ach_debit"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "account_holder_type"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "individual",
                                      "company"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "bank_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "fingerprint"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "routing_number"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "wechat"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_wechat"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "eps"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_eps"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "verified_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "type",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "card_present"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_card_present"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "read_method"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "funding"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "exp_month"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "exp_year"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "generated_card"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "cardholder_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "network"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "fingerprint"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "receipt"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "label": "payment_method_details_card_present_receipt"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "application_preferred_name"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "cardholder_verification_method"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "authorization_code"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "terminal_verification_results"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "application_cryptogram"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "transaction_status_information"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "authorization_response_code"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "dedicated_file_name"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "key": {
                                "name": "emv_auth_data"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "brand"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "sofort"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_sofort"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "bank_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bank_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "iban_last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "verified_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bic"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "fpx"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_fpx"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "transaction_id"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bank",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "deutsche_bank",
                                      "hong_leong_bank",
                                      "public_bank",
                                      "ocbc",
                                      "alliance_bank",
                                      "maybank2u",
                                      "affin_bank",
                                      "uob",
                                      "bank_islam",
                                      "kfh",
                                      "rhb",
                                      "bank_muamalat",
                                      "bank_rakyat",
                                      "cimb",
                                      "pb_enterprise",
                                      "maybank2e",
                                      "standard_chartered",
                                      "ambank",
                                      "bsn",
                                      "hsbc"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "bancontact"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_bancontact"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "bank_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bank_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "iban_last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "verified_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bic"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "preferred_language"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "de",
                                      "en",
                                      "fr",
                                      "nl"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "klarna"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_klarna"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "p24"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_p24"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "reference"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "verified_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "au_becs_debit"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_au_becs_debit"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "bsb_number"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "mandate"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "fingerprint"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "stripe_account"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_stripe_account"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "sepa_debit"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_sepa_debit"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "branch_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bank_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "mandate"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "fingerprint"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "ach_credit_transfer"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_ach_credit_transfer"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "account_number"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "swift_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bank_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "routing_number"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "card"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_card"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "funding"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "checks"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "label": "payment_method_details_card_checks"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "cvc_check"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "address_line1_check"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "address_postal_code_check"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "key": {
                                "name": "wallet"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "label": "payment_method_details_card_wallet"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "apple_pay"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_wallet_apple_pay"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": []
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "masterpass"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_wallet_masterpass"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": [
                                        {
                                          "key": {
                                            "name": "name"
                                          },
                                          "model": {
                                            "type": "String"
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "billing_address"
                                          },
                                          "model": {
                                            "type": "Object",
                                            "annotations": {
                                              "label": "Address"
                                            },
                                            "open": {
                                              "type": "Any"
                                            },
                                            "fields": [
                                              {
                                                "key": {
                                                  "name": "country"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "city"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "state"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "postal_code"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line2"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line1"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "shipping_address"
                                          },
                                          "model": {
                                            "type": "Object",
                                            "annotations": {
                                              "label": "Address"
                                            },
                                            "open": {
                                              "type": "Any"
                                            },
                                            "fields": [
                                              {
                                                "key": {
                                                  "name": "country"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "city"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "state"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "postal_code"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line2"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line1"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "email"
                                          },
                                          "model": {
                                            "type": "String"
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "samsung_pay"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_wallet_samsung_pay"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": []
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "google_pay"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_wallet_google_pay"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": []
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "visa_checkout"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_wallet_visa_checkout"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": [
                                        {
                                          "key": {
                                            "name": "name"
                                          },
                                          "model": {
                                            "type": "String"
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "billing_address"
                                          },
                                          "model": {
                                            "type": "Object",
                                            "annotations": {
                                              "label": "Address"
                                            },
                                            "open": {
                                              "type": "Any"
                                            },
                                            "fields": [
                                              {
                                                "key": {
                                                  "name": "country"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "city"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "state"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "postal_code"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line2"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line1"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "shipping_address"
                                          },
                                          "model": {
                                            "type": "Object",
                                            "annotations": {
                                              "label": "Address"
                                            },
                                            "open": {
                                              "type": "Any"
                                            },
                                            "fields": [
                                              {
                                                "key": {
                                                  "name": "country"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "city"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "state"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "postal_code"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line2"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line1"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "email"
                                          },
                                          "model": {
                                            "type": "String"
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "amex_express_checkout"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_wallet_amex_express_checkout"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": []
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "dynamic_last4"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "type",
                                      "required": "true"
                                    },
                                    "model": {
                                      "type": "String",
                                      "annotations": {
                                        "enum": {
                                          "type": "[Ljava.lang.String;",
                                          "values": [
                                            "apple_pay",
                                            "masterpass",
                                            "samsung_pay",
                                            "google_pay",
                                            "visa_checkout",
                                            "amex_express_checkout"
                                          ]
                                        }
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "key": {
                                "name": "installments"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "label": "payment_method_details_card_installments"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "plan"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_installments_plan"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": [
                                        {
                                          "key": {
                                            "name": "count"
                                          },
                                          "model": {
                                            "type": "Number",
                                            "annotations": {
                                              "int": {}
                                            }
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "interval"
                                          },
                                          "model": {
                                            "type": "String",
                                            "annotations": {
                                              "enum": {
                                                "type": "[Ljava.lang.String;",
                                                "values": [
                                                  "month"
                                                ]
                                              }
                                            }
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "type",
                                            "required": "true"
                                          },
                                          "model": {
                                            "type": "String",
                                            "annotations": {
                                              "enum": {
                                                "type": "[Ljava.lang.String;",
                                                "values": [
                                                  "fixed_count"
                                                ]
                                              }
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "key": {
                                "name": "fingerprint"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "exp_month"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "exp_year"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "three_d_secure"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "label": "three_d_secure_details"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "authenticated"
                                    },
                                    "model": {
                                      "type": "Boolean"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "version",
                                      "required": "true"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "succeeded"
                                    },
                                    "model": {
                                      "type": "Boolean"
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "key": {
                                "name": "brand"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "network"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "multibanco"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_multibanco"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "reference"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "entity"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "source_transfer"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "receipt_number"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "transfer"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "application"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "receipt_email"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "paid",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "application_fee"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "payment_intent"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "invoice"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "statement_descriptor_suffix"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "application_fee_amount"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "charge"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "status",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_CHARGES",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "amount"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "transfer_group"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "on_behalf_of"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "destination"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "label": "destination_specs"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "amount"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "account",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "capture"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "description"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "source"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "statement_descriptor"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "transfer_data"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "An optional dictionary including the account to automatically transfer to as part of a destination charge. [See the Connect documentation](https://stripe.com/docs/connect/destination-charges) for details."
                            },
                            "label": "transfer_data_specs"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "amount"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "destination",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "shipping"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Shipping information for the charge. Helps prevent fraud on charges for physical goods."
                            },
                            "label": "shipping"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "carrier"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "address",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "label": "address"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "country"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "city"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "state"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "postal_code"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "line2"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "line1",
                                      "required": "true"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "key": {
                                "name": "phone"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "name",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "tracking_number"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "receipt_email"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "application_fee"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "currency"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "statement_descriptor_suffix"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "application_fee_amount"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "card"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "payloadContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1Charges",
          "displayModel": {
            "displayName": "Create Charge",
            "summary": "To charge a credit card or other payment source, you create a Charge object."
          },
          "description": "To charge a credit card or other payment source, you create a Charge object. If your API key is in test mode, the supplied payment source (e.g., card) wonât actually be charged, although everything else will occur as if in live mode. (Stripe assumes that the charge would have completed successfully). This operation makes an HTTP POST request to the /v1/charges endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Coupon",
                "description": {
                  "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "redeem_by"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "max_redemptions"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "times_redeemed",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "duration",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "once",
                          "repeating",
                          "forever"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "valid",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "duration_in_months"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "name"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "currency"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "percent_off"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "amount_off"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "coupon"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_COUPONS",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "duration",
                          "required": "true"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "once",
                                "repeating",
                                "forever"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "duration_in_months"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "redeem_by"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "max_redemptions"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "currency"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "percent_off"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "id"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "amount_off"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "v1CouponsContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1Coupons",
          "displayModel": {
            "displayName": "Create Coupon",
            "summary": "You can create coupons easily via the coupon management page of the Stripe dashboard."
          },
          "description": "You can create coupons easily via the coupon management page of the Stripe dashboard. Coupon creation is also accessible via the API if you need to create coupons on the fly. A coupon has either a percent_off or an amount_off and currency. If you set an amount_off, that amount will be subtracted from any invoiceâs subtotal. For example, an invoice with a subtotal of 100 will have a final total of 0 if a coupon with an amount_off of 200 is applied to it and an invoice with a subtotal of 300 will have a final total of 100 if a coupon with an amount_off of 200 is applied to it. This operation makes an HTTP POST request to the /v1/coupons endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Customer",
                "description": {
                  "value": "`Customer` objects allow you to perform recurring charges, and to track\nmultiple charges, that are associated with the same customer. The API allows\nyou to create, delete, and update your customers. You can retrieve individual\ncustomers as well as a list of all your customers.\n\nRelated guide: [Saving Cards with Customers](https://stripe.com/docs/saving-cards)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "invoice_settings"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "InvoiceSettingCustomerSetting"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "footer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "custom_fields"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Default custom fields to be displayed on invoices for this customer."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "InvoiceSettingCustomField"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "name",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "value",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "default_payment_method"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "metadata"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "subscriptions"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s current subscriptions, if any."
                      },
                      "label": "SubscriptionList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Subscriptions allow you to charge a customer on a recurring basis.\n\nRelated guide: [Creating Subscriptions](https://stripe.com/docs/billing/subscriptions/creating)."
                              },
                              "label": "Subscription"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "cancel_at_period_end",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "pending_setup_intent"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "pending_update"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Pending Updates store the changes pending from a previous update that will be applied\nto the Subscription upon successful payment."
                                    },
                                    "label": "SubscriptionsResourcePendingUpdate"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "subscription_items"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "List of subscription items, each with an attached plan, that will be set if the update is applied."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                                            },
                                            "label": "SubscriptionItem"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "metadata",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "description": {
                                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                  }
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": []
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "quantity"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "created",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "billing_thresholds"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "label": "SubscriptionItemBillingThresholds"
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": [
                                                  {
                                                    "key": {
                                                      "name": "usage_gte"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "id",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "subscription",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "plan",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "description": {
                                                    "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                                  },
                                                  "label": "Plan"
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": [
                                                  {
                                                    "key": {
                                                      "name": "interval_count",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "amount"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "metadata",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Object",
                                                      "annotations": {
                                                        "description": {
                                                          "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                        }
                                                      },
                                                      "open": {
                                                        "type": "Any"
                                                      },
                                                      "fields": []
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "product"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "tiers"
                                                    },
                                                    "model": {
                                                      "type": "Array",
                                                      "annotations": {
                                                        "description": {
                                                          "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                                        }
                                                      },
                                                      "item": {
                                                        "type": "Object",
                                                        "annotations": {
                                                          "label": "PlanTier"
                                                        },
                                                        "open": {
                                                          "type": "Any"
                                                        },
                                                        "fields": [
                                                          {
                                                            "key": {
                                                              "name": "flat_amount"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "unit_amount_decimal"
                                                            },
                                                            "model": {
                                                              "type": "String"
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "up_to"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "unit_amount"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "flat_amount_decimal"
                                                            },
                                                            "model": {
                                                              "type": "String"
                                                            }
                                                          }
                                                        ]
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "livemode",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Boolean"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "created",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "amount_decimal"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "transform_usage"
                                                    },
                                                    "model": {
                                                      "type": "Object",
                                                      "annotations": {
                                                        "label": "TransformUsage"
                                                      },
                                                      "open": {
                                                        "type": "Any"
                                                      },
                                                      "fields": [
                                                        {
                                                          "key": {
                                                            "name": "round",
                                                            "required": "true"
                                                          },
                                                          "model": {
                                                            "type": "String",
                                                            "annotations": {
                                                              "enum": {
                                                                "type": "[Ljava.lang.String;",
                                                                "values": [
                                                                  "up",
                                                                  "down"
                                                                ]
                                                              }
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "key": {
                                                            "name": "divide_by",
                                                            "required": "true"
                                                          },
                                                          "model": {
                                                            "type": "Number",
                                                            "annotations": {
                                                              "int": {}
                                                            }
                                                          }
                                                        }
                                                      ]
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "active",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Boolean"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "aggregate_usage"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "last_during_period",
                                                            "max",
                                                            "sum",
                                                            "last_ever"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "billing_scheme",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "per_unit",
                                                            "tiered"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "trial_period_days"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "tiers_mode"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "volume",
                                                            "graduated"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "usage_type",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "licensed",
                                                            "metered"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "nickname"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "currency",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "interval",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "week",
                                                            "month",
                                                            "year",
                                                            "day"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "id",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "object",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "plan"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "object",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String",
                                                "annotations": {
                                                  "enum": {
                                                    "type": "[Ljava.lang.String;",
                                                    "values": [
                                                      "subscription_item"
                                                    ]
                                                  }
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "tax_rates"
                                              },
                                              "model": {
                                                "type": "Array",
                                                "annotations": {
                                                  "description": {
                                                    "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                                  }
                                                },
                                                "item": {
                                                  "type": "Object",
                                                  "annotations": {
                                                    "description": {
                                                      "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                                    },
                                                    "label": "TaxRate"
                                                  },
                                                  "open": {
                                                    "type": "Any"
                                                  },
                                                  "fields": [
                                                    {
                                                      "key": {
                                                        "name": "inclusive",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "metadata",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Object",
                                                        "annotations": {
                                                          "description": {
                                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                          }
                                                        },
                                                        "open": {
                                                          "type": "Any"
                                                        },
                                                        "fields": []
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "livemode",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "created",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Number",
                                                        "annotations": {
                                                          "int": {}
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "jurisdiction"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "percentage",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Number"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "active",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "description"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "id",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "display_name",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "object",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String",
                                                        "annotations": {
                                                          "enum": {
                                                            "type": "[Ljava.lang.String;",
                                                            "values": [
                                                              "tax_rate"
                                                            ]
                                                          }
                                                        }
                                                      }
                                                    }
                                                  ]
                                                }
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_from_plan"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "expires_at",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_end"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_cycle_anchor"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "canceled_at"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "days_until_due"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "discount"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                                    },
                                    "label": "Discount"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "coupon",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                                          },
                                          "label": "Coupon"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "redeem_by"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "metadata",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Object",
                                              "annotations": {
                                                "description": {
                                                  "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                }
                                              },
                                              "open": {
                                                "type": "Any"
                                              },
                                              "fields": []
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "livemode",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Boolean"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "created",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "max_redemptions"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "times_redeemed",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "duration",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "once",
                                                    "repeating",
                                                    "forever"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "valid",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Boolean"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "duration_in_months"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "name"
                                            },
                                            "model": {
                                              "type": "String"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "currency"
                                            },
                                            "model": {
                                              "type": "String"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "percent_off"
                                            },
                                            "model": {
                                              "type": "Number"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "id",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "amount_off"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "object",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "coupon"
                                                  ]
                                                }
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "start",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "end"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "subscription"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "customer"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "discount"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "application_fee_percent"
                                },
                                "model": {
                                  "type": "Number"
                                }
                              },
                              {
                                "key": {
                                  "name": "pause_collection"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "The Pause Collection settings determine how we will pause collection for this subscription and for how long the subscription\nshould be paused."
                                    },
                                    "label": "SubscriptionsResourcePauseCollection"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "resumes_at"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "behavior",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "keep_as_draft",
                                              "void",
                                              "mark_uncollectible"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_percent"
                                },
                                "model": {
                                  "type": "Number"
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "current_period_start",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "start_date",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "default_tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "latest_invoice"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "default_source"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "default_payment_method"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "trial_end"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "current_period_end",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "pending_invoice_item_interval"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionPendingInvoiceItemInterval"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_cycle_anchor",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "schedule"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "collection_method"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "send_invoice",
                                        "charge_automatically"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "trial_start"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionBillingThresholds"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "reset_billing_cycle_anchor"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_gte"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "next_pending_invoice_item_invoice"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "items",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "List of subscription items, each with an attached plan."
                                    },
                                    "label": "SubscriptionItemList"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "data",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Details about each object."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                                            },
                                            "label": "SubscriptionItem"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "metadata",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "description": {
                                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                  }
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": []
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "quantity"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "created",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "billing_thresholds"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "label": "SubscriptionItemBillingThresholds"
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": [
                                                  {
                                                    "key": {
                                                      "name": "usage_gte"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "id",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "subscription",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "plan",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "description": {
                                                    "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                                  },
                                                  "label": "Plan"
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": [
                                                  {
                                                    "key": {
                                                      "name": "interval_count",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "amount"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "metadata",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Object",
                                                      "annotations": {
                                                        "description": {
                                                          "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                        }
                                                      },
                                                      "open": {
                                                        "type": "Any"
                                                      },
                                                      "fields": []
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "product"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "tiers"
                                                    },
                                                    "model": {
                                                      "type": "Array",
                                                      "annotations": {
                                                        "description": {
                                                          "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                                        }
                                                      },
                                                      "item": {
                                                        "type": "Object",
                                                        "annotations": {
                                                          "label": "PlanTier"
                                                        },
                                                        "open": {
                                                          "type": "Any"
                                                        },
                                                        "fields": [
                                                          {
                                                            "key": {
                                                              "name": "flat_amount"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "unit_amount_decimal"
                                                            },
                                                            "model": {
                                                              "type": "String"
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "up_to"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "unit_amount"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "flat_amount_decimal"
                                                            },
                                                            "model": {
                                                              "type": "String"
                                                            }
                                                          }
                                                        ]
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "livemode",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Boolean"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "created",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "amount_decimal"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "transform_usage"
                                                    },
                                                    "model": {
                                                      "type": "Object",
                                                      "annotations": {
                                                        "label": "TransformUsage"
                                                      },
                                                      "open": {
                                                        "type": "Any"
                                                      },
                                                      "fields": [
                                                        {
                                                          "key": {
                                                            "name": "round",
                                                            "required": "true"
                                                          },
                                                          "model": {
                                                            "type": "String",
                                                            "annotations": {
                                                              "enum": {
                                                                "type": "[Ljava.lang.String;",
                                                                "values": [
                                                                  "up",
                                                                  "down"
                                                                ]
                                                              }
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "key": {
                                                            "name": "divide_by",
                                                            "required": "true"
                                                          },
                                                          "model": {
                                                            "type": "Number",
                                                            "annotations": {
                                                              "int": {}
                                                            }
                                                          }
                                                        }
                                                      ]
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "active",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Boolean"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "aggregate_usage"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "last_during_period",
                                                            "max",
                                                            "sum",
                                                            "last_ever"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "billing_scheme",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "per_unit",
                                                            "tiered"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "trial_period_days"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "tiers_mode"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "volume",
                                                            "graduated"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "usage_type",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "licensed",
                                                            "metered"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "nickname"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "currency",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "interval",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "week",
                                                            "month",
                                                            "year",
                                                            "day"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "id",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "object",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "plan"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "object",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String",
                                                "annotations": {
                                                  "enum": {
                                                    "type": "[Ljava.lang.String;",
                                                    "values": [
                                                      "subscription_item"
                                                    ]
                                                  }
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "tax_rates"
                                              },
                                              "model": {
                                                "type": "Array",
                                                "annotations": {
                                                  "description": {
                                                    "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                                  }
                                                },
                                                "item": {
                                                  "type": "Object",
                                                  "annotations": {
                                                    "description": {
                                                      "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                                    },
                                                    "label": "TaxRate"
                                                  },
                                                  "open": {
                                                    "type": "Any"
                                                  },
                                                  "fields": [
                                                    {
                                                      "key": {
                                                        "name": "inclusive",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "metadata",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Object",
                                                        "annotations": {
                                                          "description": {
                                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                          }
                                                        },
                                                        "open": {
                                                          "type": "Any"
                                                        },
                                                        "fields": []
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "livemode",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "created",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Number",
                                                        "annotations": {
                                                          "int": {}
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "jurisdiction"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "percentage",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Number"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "active",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "description"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "id",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "display_name",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "object",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String",
                                                        "annotations": {
                                                          "enum": {
                                                            "type": "[Ljava.lang.String;",
                                                            "values": [
                                                              "tax_rate"
                                                            ]
                                                          }
                                                        }
                                                      }
                                                    }
                                                  ]
                                                }
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "has_more",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "url",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "list"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "ended_at"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "cancel_at"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "customer",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "subscription"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "status",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "canceled",
                                        "incomplete",
                                        "active",
                                        "trialing",
                                        "past_due",
                                        "unpaid",
                                        "incomplete_expired"
                                      ]
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "address"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Address"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "country"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "city"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "state"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "postal_code"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line2"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line1"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "sources",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s payment sources, if any."
                      },
                      "label": "ApmsSourcesSourceList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "AlipayAccount"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "fingerprint",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "payment_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "used",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "customer"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "alipay_account"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "payment_currency"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "reusable",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "username",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "tax_ids"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s tax IDs."
                      },
                      "label": "TaxIDsList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers).\nA customer\u0027s tax IDs are displayed on invoices and credit notes issued for the customer.\n\nRelated guide: [Customer Tax Identification Numbers](https://stripe.com/docs/billing/taxes/tax-ids)."
                              },
                              "label": "tax_id"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "country"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "type",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "au_abn",
                                        "tw_vat",
                                        "us_ein",
                                        "ca_qst",
                                        "my_itn",
                                        "th_vat",
                                        "ru_inn",
                                        "sg_gst",
                                        "in_gst",
                                        "nz_gst",
                                        "jp_cn",
                                        "kr_brn",
                                        "unknown",
                                        "mx_rfc",
                                        "no_vat",
                                        "my_sst",
                                        "ch_vat",
                                        "za_vat",
                                        "sg_uen",
                                        "hk_br",
                                        "ca_bn",
                                        "eu_vat",
                                        "li_uid",
                                        "es_cif"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "value",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "verification",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "tax_id_verification"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "verified_name"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "verified_address"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "status",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "unavailable",
                                              "pending",
                                              "verified",
                                              "unverified"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "customer",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "tax_id"
                                      ]
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "default_source"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "invoice_prefix"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "tax_exempt"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "exempt",
                          "none",
                          "reverse"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "next_invoice_sequence"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "discount"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                      },
                      "label": "Discount"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "coupon",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                            },
                            "label": "Coupon"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "redeem_by"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "metadata",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "description": {
                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                  }
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": []
                              }
                            },
                            {
                              "key": {
                                "name": "livemode",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "created",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "max_redemptions"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "times_redeemed",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "duration",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "once",
                                      "repeating",
                                      "forever"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "valid",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "duration_in_months"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "currency"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "percent_off"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "id",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "amount_off"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "object",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "coupon"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "start",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "discount"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "preferred_locales"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s preferred locales (languages), ordered by preference."
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  }
                },
                {
                  "key": {
                    "name": "balance"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "shipping"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Shipping"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "carrier"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "Address"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "city"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "state"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "postal_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line2"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line1"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tracking_number"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "phone"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "delinquent"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "name"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "currency"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "email"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "customer"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_CUSTOMERS",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "invoice_settings"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Default invoice settings for this customer."
                            },
                            "label": "customer_param"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "footer"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "custom_fields"
                              },
                              "model": {
                                "type": "Array",
                                "item": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "custom_field_params"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "name",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "value",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "default_payment_method"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "metadata"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "coupon"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "invoice_prefix"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tax_exempt"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "",
                                "exempt",
                                "none",
                                "reverse"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "next_invoice_sequence"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "description"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "source"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tax_id_data"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "The customer\u0027s tax IDs."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "data_params"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "type",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "au_abn",
                                        "tw_vat",
                                        "us_ein",
                                        "ca_qst",
                                        "za_vat",
                                        "my_itn",
                                        "sg_uen",
                                        "th_vat",
                                        "hk_br",
                                        "ru_inn",
                                        "sg_gst",
                                        "in_gst",
                                        "nz_gst",
                                        "ca_bn",
                                        "eu_vat",
                                        "jp_cn",
                                        "kr_brn",
                                        "li_uid",
                                        "mx_rfc",
                                        "es_cif",
                                        "no_vat",
                                        "my_sst",
                                        "ch_vat"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "value",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "preferred_locales"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Customer\u0027s preferred languages, ordered by preference."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "balance"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "shipping"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "email"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "payment_method"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "v1CustomersContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1Customers",
          "displayModel": {
            "displayName": "Create Customer",
            "summary": "Creates a new customer object."
          },
          "description": "Creates a new customer object. This operation makes an HTTP POST request to the /v1/customers endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Customer",
                "description": {
                  "value": "`Customer` objects allow you to perform recurring charges, and to track\nmultiple charges, that are associated with the same customer. The API allows\nyou to create, delete, and update your customers. You can retrieve individual\ncustomers as well as a list of all your customers.\n\nRelated guide: [Saving Cards with Customers](https://stripe.com/docs/saving-cards)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "invoice_settings"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "InvoiceSettingCustomerSetting"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "footer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "custom_fields"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Default custom fields to be displayed on invoices for this customer."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "InvoiceSettingCustomField"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "name",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "value",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "default_payment_method"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "metadata"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "subscriptions"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s current subscriptions, if any."
                      },
                      "label": "SubscriptionList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Subscriptions allow you to charge a customer on a recurring basis.\n\nRelated guide: [Creating Subscriptions](https://stripe.com/docs/billing/subscriptions/creating)."
                              },
                              "label": "Subscription"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "cancel_at_period_end",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "pending_setup_intent"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "pending_update"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Pending Updates store the changes pending from a previous update that will be applied\nto the Subscription upon successful payment."
                                    },
                                    "label": "SubscriptionsResourcePendingUpdate"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "subscription_items"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "List of subscription items, each with an attached plan, that will be set if the update is applied."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                                            },
                                            "label": "SubscriptionItem"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "metadata",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "description": {
                                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                  }
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": []
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "quantity"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "created",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "billing_thresholds"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "label": "SubscriptionItemBillingThresholds"
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": [
                                                  {
                                                    "key": {
                                                      "name": "usage_gte"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "id",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "subscription",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "plan",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "description": {
                                                    "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                                  },
                                                  "label": "Plan"
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": [
                                                  {
                                                    "key": {
                                                      "name": "interval_count",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "amount"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "metadata",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Object",
                                                      "annotations": {
                                                        "description": {
                                                          "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                        }
                                                      },
                                                      "open": {
                                                        "type": "Any"
                                                      },
                                                      "fields": []
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "product"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "tiers"
                                                    },
                                                    "model": {
                                                      "type": "Array",
                                                      "annotations": {
                                                        "description": {
                                                          "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                                        }
                                                      },
                                                      "item": {
                                                        "type": "Object",
                                                        "annotations": {
                                                          "label": "PlanTier"
                                                        },
                                                        "open": {
                                                          "type": "Any"
                                                        },
                                                        "fields": [
                                                          {
                                                            "key": {
                                                              "name": "flat_amount"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "unit_amount_decimal"
                                                            },
                                                            "model": {
                                                              "type": "String"
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "up_to"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "unit_amount"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "flat_amount_decimal"
                                                            },
                                                            "model": {
                                                              "type": "String"
                                                            }
                                                          }
                                                        ]
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "livemode",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Boolean"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "created",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "amount_decimal"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "transform_usage"
                                                    },
                                                    "model": {
                                                      "type": "Object",
                                                      "annotations": {
                                                        "label": "TransformUsage"
                                                      },
                                                      "open": {
                                                        "type": "Any"
                                                      },
                                                      "fields": [
                                                        {
                                                          "key": {
                                                            "name": "round",
                                                            "required": "true"
                                                          },
                                                          "model": {
                                                            "type": "String",
                                                            "annotations": {
                                                              "enum": {
                                                                "type": "[Ljava.lang.String;",
                                                                "values": [
                                                                  "up",
                                                                  "down"
                                                                ]
                                                              }
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "key": {
                                                            "name": "divide_by",
                                                            "required": "true"
                                                          },
                                                          "model": {
                                                            "type": "Number",
                                                            "annotations": {
                                                              "int": {}
                                                            }
                                                          }
                                                        }
                                                      ]
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "active",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Boolean"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "aggregate_usage"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "last_during_period",
                                                            "max",
                                                            "sum",
                                                            "last_ever"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "billing_scheme",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "per_unit",
                                                            "tiered"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "trial_period_days"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "tiers_mode"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "volume",
                                                            "graduated"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "usage_type",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "licensed",
                                                            "metered"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "nickname"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "currency",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "interval",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "week",
                                                            "month",
                                                            "year",
                                                            "day"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "id",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "object",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "plan"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "object",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String",
                                                "annotations": {
                                                  "enum": {
                                                    "type": "[Ljava.lang.String;",
                                                    "values": [
                                                      "subscription_item"
                                                    ]
                                                  }
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "tax_rates"
                                              },
                                              "model": {
                                                "type": "Array",
                                                "annotations": {
                                                  "description": {
                                                    "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                                  }
                                                },
                                                "item": {
                                                  "type": "Object",
                                                  "annotations": {
                                                    "description": {
                                                      "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                                    },
                                                    "label": "TaxRate"
                                                  },
                                                  "open": {
                                                    "type": "Any"
                                                  },
                                                  "fields": [
                                                    {
                                                      "key": {
                                                        "name": "inclusive",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "metadata",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Object",
                                                        "annotations": {
                                                          "description": {
                                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                          }
                                                        },
                                                        "open": {
                                                          "type": "Any"
                                                        },
                                                        "fields": []
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "livemode",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "created",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Number",
                                                        "annotations": {
                                                          "int": {}
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "jurisdiction"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "percentage",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Number"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "active",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "description"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "id",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "display_name",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "object",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String",
                                                        "annotations": {
                                                          "enum": {
                                                            "type": "[Ljava.lang.String;",
                                                            "values": [
                                                              "tax_rate"
                                                            ]
                                                          }
                                                        }
                                                      }
                                                    }
                                                  ]
                                                }
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_from_plan"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "expires_at",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_end"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_cycle_anchor"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "canceled_at"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "days_until_due"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "discount"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                                    },
                                    "label": "Discount"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "coupon",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                                          },
                                          "label": "Coupon"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "redeem_by"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "metadata",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Object",
                                              "annotations": {
                                                "description": {
                                                  "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                }
                                              },
                                              "open": {
                                                "type": "Any"
                                              },
                                              "fields": []
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "livemode",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Boolean"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "created",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "max_redemptions"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "times_redeemed",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "duration",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "once",
                                                    "repeating",
                                                    "forever"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "valid",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Boolean"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "duration_in_months"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "name"
                                            },
                                            "model": {
                                              "type": "String"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "currency"
                                            },
                                            "model": {
                                              "type": "String"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "percent_off"
                                            },
                                            "model": {
                                              "type": "Number"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "id",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "amount_off"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "object",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "coupon"
                                                  ]
                                                }
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "start",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "end"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "subscription"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "customer"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "discount"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "application_fee_percent"
                                },
                                "model": {
                                  "type": "Number"
                                }
                              },
                              {
                                "key": {
                                  "name": "pause_collection"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "The Pause Collection settings determine how we will pause collection for this subscription and for how long the subscription\nshould be paused."
                                    },
                                    "label": "SubscriptionsResourcePauseCollection"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "resumes_at"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "behavior",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "keep_as_draft",
                                              "void",
                                              "mark_uncollectible"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_percent"
                                },
                                "model": {
                                  "type": "Number"
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "current_period_start",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "start_date",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "default_tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "latest_invoice"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "default_source"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "default_payment_method"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "trial_end"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "current_period_end",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "pending_invoice_item_interval"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionPendingInvoiceItemInterval"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_cycle_anchor",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "schedule"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "collection_method"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "send_invoice",
                                        "charge_automatically"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "trial_start"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionBillingThresholds"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "reset_billing_cycle_anchor"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_gte"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "next_pending_invoice_item_invoice"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "items",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "List of subscription items, each with an attached plan."
                                    },
                                    "label": "SubscriptionItemList"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "data",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Details about each object."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                                            },
                                            "label": "SubscriptionItem"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "metadata",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "description": {
                                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                  }
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": []
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "quantity"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "created",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "billing_thresholds"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "label": "SubscriptionItemBillingThresholds"
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": [
                                                  {
                                                    "key": {
                                                      "name": "usage_gte"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "id",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "subscription",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "plan",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "description": {
                                                    "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                                  },
                                                  "label": "Plan"
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": [
                                                  {
                                                    "key": {
                                                      "name": "interval_count",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "amount"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "metadata",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Object",
                                                      "annotations": {
                                                        "description": {
                                                          "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                        }
                                                      },
                                                      "open": {
                                                        "type": "Any"
                                                      },
                                                      "fields": []
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "product"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "tiers"
                                                    },
                                                    "model": {
                                                      "type": "Array",
                                                      "annotations": {
                                                        "description": {
                                                          "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                                        }
                                                      },
                                                      "item": {
                                                        "type": "Object",
                                                        "annotations": {
                                                          "label": "PlanTier"
                                                        },
                                                        "open": {
                                                          "type": "Any"
                                                        },
                                                        "fields": [
                                                          {
                                                            "key": {
                                                              "name": "flat_amount"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "unit_amount_decimal"
                                                            },
                                                            "model": {
                                                              "type": "String"
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "up_to"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "unit_amount"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "flat_amount_decimal"
                                                            },
                                                            "model": {
                                                              "type": "String"
                                                            }
                                                          }
                                                        ]
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "livemode",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Boolean"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "created",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "amount_decimal"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "transform_usage"
                                                    },
                                                    "model": {
                                                      "type": "Object",
                                                      "annotations": {
                                                        "label": "TransformUsage"
                                                      },
                                                      "open": {
                                                        "type": "Any"
                                                      },
                                                      "fields": [
                                                        {
                                                          "key": {
                                                            "name": "round",
                                                            "required": "true"
                                                          },
                                                          "model": {
                                                            "type": "String",
                                                            "annotations": {
                                                              "enum": {
                                                                "type": "[Ljava.lang.String;",
                                                                "values": [
                                                                  "up",
                                                                  "down"
                                                                ]
                                                              }
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "key": {
                                                            "name": "divide_by",
                                                            "required": "true"
                                                          },
                                                          "model": {
                                                            "type": "Number",
                                                            "annotations": {
                                                              "int": {}
                                                            }
                                                          }
                                                        }
                                                      ]
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "active",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Boolean"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "aggregate_usage"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "last_during_period",
                                                            "max",
                                                            "sum",
                                                            "last_ever"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "billing_scheme",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "per_unit",
                                                            "tiered"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "trial_period_days"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "tiers_mode"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "volume",
                                                            "graduated"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "usage_type",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "licensed",
                                                            "metered"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "nickname"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "currency",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "interval",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "week",
                                                            "month",
                                                            "year",
                                                            "day"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "id",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "object",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "plan"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "object",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String",
                                                "annotations": {
                                                  "enum": {
                                                    "type": "[Ljava.lang.String;",
                                                    "values": [
                                                      "subscription_item"
                                                    ]
                                                  }
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "tax_rates"
                                              },
                                              "model": {
                                                "type": "Array",
                                                "annotations": {
                                                  "description": {
                                                    "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                                  }
                                                },
                                                "item": {
                                                  "type": "Object",
                                                  "annotations": {
                                                    "description": {
                                                      "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                                    },
                                                    "label": "TaxRate"
                                                  },
                                                  "open": {
                                                    "type": "Any"
                                                  },
                                                  "fields": [
                                                    {
                                                      "key": {
                                                        "name": "inclusive",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "metadata",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Object",
                                                        "annotations": {
                                                          "description": {
                                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                          }
                                                        },
                                                        "open": {
                                                          "type": "Any"
                                                        },
                                                        "fields": []
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "livemode",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "created",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Number",
                                                        "annotations": {
                                                          "int": {}
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "jurisdiction"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "percentage",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Number"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "active",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "description"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "id",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "display_name",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "object",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String",
                                                        "annotations": {
                                                          "enum": {
                                                            "type": "[Ljava.lang.String;",
                                                            "values": [
                                                              "tax_rate"
                                                            ]
                                                          }
                                                        }
                                                      }
                                                    }
                                                  ]
                                                }
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "has_more",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "url",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "list"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "ended_at"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "cancel_at"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "customer",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "subscription"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "status",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "canceled",
                                        "incomplete",
                                        "active",
                                        "trialing",
                                        "past_due",
                                        "unpaid",
                                        "incomplete_expired"
                                      ]
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "address"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Address"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "country"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "city"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "state"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "postal_code"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line2"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line1"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "sources",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s payment sources, if any."
                      },
                      "label": "ApmsSourcesSourceList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "AlipayAccount"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "fingerprint",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "payment_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "used",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "customer"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "alipay_account"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "payment_currency"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "reusable",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "username",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "tax_ids"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s tax IDs."
                      },
                      "label": "TaxIDsList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers).\nA customer\u0027s tax IDs are displayed on invoices and credit notes issued for the customer.\n\nRelated guide: [Customer Tax Identification Numbers](https://stripe.com/docs/billing/taxes/tax-ids)."
                              },
                              "label": "tax_id"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "country"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "type",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "au_abn",
                                        "tw_vat",
                                        "us_ein",
                                        "ca_qst",
                                        "my_itn",
                                        "th_vat",
                                        "ru_inn",
                                        "sg_gst",
                                        "in_gst",
                                        "nz_gst",
                                        "jp_cn",
                                        "kr_brn",
                                        "unknown",
                                        "mx_rfc",
                                        "no_vat",
                                        "my_sst",
                                        "ch_vat",
                                        "za_vat",
                                        "sg_uen",
                                        "hk_br",
                                        "ca_bn",
                                        "eu_vat",
                                        "li_uid",
                                        "es_cif"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "value",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "verification",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "tax_id_verification"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "verified_name"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "verified_address"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "status",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "unavailable",
                                              "pending",
                                              "verified",
                                              "unverified"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "customer",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "tax_id"
                                      ]
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "default_source"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "invoice_prefix"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "tax_exempt"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "exempt",
                          "none",
                          "reverse"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "next_invoice_sequence"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "discount"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                      },
                      "label": "Discount"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "coupon",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                            },
                            "label": "Coupon"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "redeem_by"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "metadata",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "description": {
                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                  }
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": []
                              }
                            },
                            {
                              "key": {
                                "name": "livemode",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "created",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "max_redemptions"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "times_redeemed",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "duration",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "once",
                                      "repeating",
                                      "forever"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "valid",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "duration_in_months"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "currency"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "percent_off"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "id",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "amount_off"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "object",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "coupon"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "start",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "discount"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "preferred_locales"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s preferred locales (languages), ordered by preference."
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  }
                },
                {
                  "key": {
                    "name": "balance"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "shipping"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Shipping"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "carrier"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "Address"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "city"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "state"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "postal_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line2"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line1"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tracking_number"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "phone"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "delinquent"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "name"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "currency"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "email"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "customer"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_CUSTOMERS_BY_CUSTOMER",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "customer",
                  "displayModel": {
                    "displayName": "customer"
                  },
                  "description": "customer",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "invoice_settings"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Default invoice settings for this customer."
                            },
                            "label": "customer_param"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "footer"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "custom_fields"
                              },
                              "model": {
                                "type": "Array",
                                "item": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "custom_field_params"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "name",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "value",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    }
                                  ]
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "default_payment_method"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "metadata"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "coupon"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "default_source"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "invoice_prefix"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tax_exempt"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "",
                                "exempt",
                                "none",
                                "reverse"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "next_invoice_sequence"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "description"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "trial_end"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "source"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "preferred_locales"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Customer\u0027s preferred languages, ordered by preference."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "default_alipay_account"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "balance"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "default_bank_account"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "shipping"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "default_card"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "card"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "email"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "bank_account"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "createV1CustomersByCustomerContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1CustomersByCustomer",
          "displayModel": {
            "displayName": "Update Customer",
            "summary": "Updates the specified customer by setting the values of the parameters passed."
          },
          "description": "Updates the specified customer by setting the values of the parameters passed. Any parameters not provided will be left unchanged. For example, if you pass the source parameter, that becomes the customerâs active source (e.g., a card) to be used for all charges in the future. When you update a customer to a new valid card source by passing the source parameter: for each of the customerâs current subscriptions, if the subscription bills automatically and is in the past_due state, then the latest open invoice for the subscription with automatic collection enabled will be retried. This retry will not count as an automatic retry, and will not affect the next regularly scheduled payment for the invoice. Changing the default_source for a customer will not trigger this behavior. This request accepts mostly the same arguments as the customer creation call. This operation makes an HTTP POST request to the /v1/customers/{customer} endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "InvoiceItem",
                "description": {
                  "value": "Sometimes you want to add a charge or credit to a customer, but actually\ncharge or credit the customer\u0027s card only at the end of a regular billing\ncycle. This is useful for combining several charges (to minimize\nper-transaction fees), or for having Stripe tabulate your usage-based billing\ntotals.\n\nRelated guide: [Subscription Invoices](https://stripe.com/docs/billing/invoices/subscription#adding-upcoming-invoice-items)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "date",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "period",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "InvoiceLineItemPeriod"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "start",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "end",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "quantity",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "unit_amount_decimal"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "subscription"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "unit_amount"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "proration",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "tax_rates"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "description": {
                          "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                        },
                        "label": "TaxRate"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "metadata",
                            "required": "true"
                          },
                          "model": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                              }
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": []
                          }
                        },
                        {
                          "key": {
                            "name": "livemode",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "created",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "jurisdiction"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "percentage",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number"
                          }
                        },
                        {
                          "key": {
                            "name": "active",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "description"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "id",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "display_name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "object",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "tax_rate"
                                ]
                              }
                            }
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "subscription_item"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "currency",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "invoice"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "discountable",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "plan"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                      },
                      "label": "Plan"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "interval_count",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                            }
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "product"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tiers"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "PlanTier"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "flat_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "unit_amount_decimal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "up_to"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "unit_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "flat_amount_decimal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "livemode",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "created",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount_decimal"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "transform_usage"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "TransformUsage"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "round",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "up",
                                      "down"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "divide_by",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "active",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "aggregate_usage"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "last_during_period",
                                "max",
                                "sum",
                                "last_ever"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "billing_scheme",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "per_unit",
                                "tiered"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_period_days"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "tiers_mode"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "volume",
                                "graduated"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "usage_type",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "licensed",
                                "metered"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "nickname"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "currency",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "interval",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "week",
                                "month",
                                "year",
                                "day"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "id",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "plan"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "customer",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "invoiceitem"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_INVOICEITEMS",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "amount"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata"
                        },
                        "model": {
                          "format": "json",
                          "type": "Union",
                          "of": [
                            {
                              "type": "Object",
                              "open": {
                                "type": "Any"
                              },
                              "fields": []
                            },
                            {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    ""
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "period"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "The period associated with this invoice item."
                            },
                            "label": "period"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "start",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "end",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "price_data"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Data used to generate a new [Price](https://stripe.com/docs/api/prices) object inline."
                            },
                            "label": "one_time_price_data"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "product",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "length": {
                                    "max": 5000
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "unit_amount_decimal"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "currency",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "unit_amount"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "quantity"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "description"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "length": {
                              "max": 5000
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "unit_amount_decimal"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "length": {
                              "max": 5000
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "unit_amount"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "tax_rates"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "The tax rates which apply to the invoice item. When set, the `default_tax_rates` on the invoice do not apply to this invoice item."
                            }
                          },
                          "item": {
                            "type": "String",
                            "annotations": {
                              "length": {
                                "max": 5000
                              }
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String",
                            "annotations": {
                              "length": {
                                "max": 5000
                              }
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "discounts"
                        },
                        "model": {
                          "format": "json",
                          "type": "Union",
                          "of": [
                            {
                              "type": "Array",
                              "item": {
                                "type": "Object",
                                "annotations": {
                                  "label": "discounts_data_param"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "coupon"
                                    },
                                    "model": {
                                      "type": "String",
                                      "annotations": {
                                        "length": {
                                          "max": 5000
                                        }
                                      }
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "discount"
                                    },
                                    "model": {
                                      "type": "String",
                                      "annotations": {
                                        "length": {
                                          "max": 5000
                                        }
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    ""
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "price"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "length": {
                              "max": 5000
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "currency"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "invoice"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "length": {
                              "max": 5000
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "discountable"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "customer",
                          "required": "true"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "length": {
                              "max": 5000
                            }
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "v1InvoiceitemsContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1Invoiceitems",
          "displayModel": {
            "displayName": "Create Invoice Item",
            "summary": "Creates an item to be added to a draft invoice."
          },
          "description": "Creates an item to be added to a draft invoice. If no invoice is specified, the item will be on the next invoice created for the customer specified. This operation makes an HTTP POST request to the /v1/invoiceitems endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Invoice",
                "description": {
                  "value": "Invoices are statements of amounts owed by a customer, and are either\ngenerated one-off, or generated periodically from a subscription.\n\nThey contain [invoice items](https://stripe.com/docs/api#invoiceitems), and proration adjustments\nthat may be caused by subscription upgrades/downgrades (if necessary).\n\nIf your invoice is configured to be billed through automatic charges,\nStripe automatically finalizes your invoice and attempts payment. Note\nthat finalizing the invoice,\n[when automatic](https://stripe.com/docs/billing/invoices/workflow/#auto_advance), does\nnot happen immediately as the invoice is created. Stripe waits\nuntil one hour after the last webhook was successfully sent (or the last\nwebhook timed out after failing). If you (and the platforms you may have\nconnected to) have no webhooks configured, Stripe waits one hour after\ncreation to finalize the invoice.\n\nIf your invoice is configured to be billed by sending an email, then based on your\n[email settings](https://dashboard.stripe.com/account/billing/automatic\u0027),\nStripe will email the invoice to your customer and await payment. These\nemails can contain a link to a hosted page to pay the invoice.\n\nStripe applies any customer credit on the account before determining the\namount due for the invoice (i.e., the amount that will be actually\ncharged). If the amount due for the invoice is less than Stripe\u0027s [minimum allowed charge\nper currency](/docs/currencies#minimum-and-maximum-charge-amounts), the\ninvoice is automatically marked paid, and we add the amount due to the\ncustomer\u0027s running account balance which is applied to the next invoice.\n\nMore details on the customer\u0027s account balance are\n[here](https://stripe.com/docs/api/customers/object#customer_object-account_balance).\n\nRelated guide: [Send Invoices to Customers](https://stripe.com/docs/billing/invoices/sending)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "amount_paid",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "amount_remaining",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_shipping"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Shipping"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "carrier"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "Address"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "city"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "state"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "postal_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line2"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line1"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tracking_number"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "metadata"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "total_tax_amounts"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The aggregate amounts calculated per tax rate for all line items."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "InvoiceTaxAmount"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "amount",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "tax_rate",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "discount"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                      },
                      "label": "Discount"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "coupon",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                            },
                            "label": "Coupon"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "redeem_by"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "metadata",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "description": {
                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                  }
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": []
                              }
                            },
                            {
                              "key": {
                                "name": "livemode",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "created",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "max_redemptions"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "times_redeemed",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "duration",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "once",
                                      "repeating",
                                      "forever"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "valid",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "duration_in_months"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "currency"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "percent_off"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "id",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "amount_off"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "object",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "coupon"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "start",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "discount"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "statement_descriptor"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "number"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "tax_percent"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "auto_advance"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "period_start",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "amount_due",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "id"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "customer_address"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Address"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "country"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "city"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "state"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "postal_code"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line2"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line1"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "custom_fields"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "Custom fields displayed on the invoice."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "InvoiceSettingCustomField"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "value",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_phone"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "ending_balance"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "tax"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "period_end",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "webhooks_delivered_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "subtotal",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_email"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "payment_intent"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "next_payment_attempt"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "application_fee_amount"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "invoice"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "status"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "deleted",
                          "void",
                          "uncollectible",
                          "draft",
                          "paid",
                          "open"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "invoice_pdf"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "footer"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "subscription"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "starting_balance",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "threshold_reason"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "InvoiceThresholdReason"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "item_reasons",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Indicates which line items triggered a threshold invoice."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "InvoiceItemThresholdReason"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "usage_gte",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "line_item_ids",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The IDs of the line items that triggered the threshold invoice."
                                    }
                                  },
                                  "item": {
                                    "type": "String"
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount_gte"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "total",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "pre_payment_credit_notes_amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "account_name"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "currency",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "account_country"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "lines",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The individual line items that make up the invoice. `lines` is sorted as follows: invoice items in reverse chronological order, followed by the subscription, if any."
                      },
                      "label": "InvoiceLinesList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "InvoiceLineItem"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "amount",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type\u003dsubscription` this will reflect the metadata of the subscription that caused the line item to be created."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "period",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "InvoiceLineItemPeriod"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "start",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "end",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "description"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "type",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "invoiceitem",
                                        "subscription"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "proration",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_amounts"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The amount of tax calculated per tax rate for this line item"
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "label": "InvoiceTaxAmount"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "amount",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "tax_rate",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates which apply to the line item."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "invoice_item"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription_item"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "currency",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "discountable",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "line_item"
                                      ]
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "subscription_proration_date"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "attempt_count",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_tax_rates"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The tax rates applied to this invoice, if any."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "description": {
                          "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                        },
                        "label": "TaxRate"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "metadata",
                            "required": "true"
                          },
                          "model": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                              }
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": []
                          }
                        },
                        {
                          "key": {
                            "name": "livemode",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "created",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "jurisdiction"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "percentage",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number"
                          }
                        },
                        {
                          "key": {
                            "name": "active",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "description"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "id",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "display_name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "object",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "tax_rate"
                                ]
                              }
                            }
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "charge"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "default_source"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "post_payment_credit_notes_amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_payment_method"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "due_date"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "billing_reason"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "subscription_create",
                          "automatic_pending_invoice_item_invoice",
                          "subscription_cycle",
                          "subscription",
                          "manual",
                          "subscription_update",
                          "upcoming",
                          "subscription_threshold"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "receipt_number"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "collection_method"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "send_invoice",
                          "charge_automatically"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_tax_ids"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "InvoicesResourceInvoiceTaxID"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "type",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "au_abn",
                                  "tw_vat",
                                  "us_ein",
                                  "ca_qst",
                                  "my_itn",
                                  "th_vat",
                                  "ru_inn",
                                  "sg_gst",
                                  "in_gst",
                                  "nz_gst",
                                  "jp_cn",
                                  "kr_brn",
                                  "unknown",
                                  "mx_rfc",
                                  "no_vat",
                                  "my_sst",
                                  "ch_vat",
                                  "za_vat",
                                  "sg_uen",
                                  "hk_br",
                                  "ca_bn",
                                  "eu_vat",
                                  "li_uid",
                                  "es_cif"
                                ]
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "value"
                          },
                          "model": {
                            "type": "String"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "hosted_invoice_url"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "paid",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "attempted",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "customer_name"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "status_transitions",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "InvoicesStatusTransitions"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "finalized_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "paid_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "voided_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "marked_uncollectible_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "customer",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "customer_tax_exempt"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "exempt",
                          "none",
                          "reverse"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_INVOICES",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "default_tax_rates"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "The tax rates that will apply to any line item that does not have `tax_rates` set."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "default_source"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "footer"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "custom_fields"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "A list of up to 4 custom fields to be displayed on the invoice."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "custom_field_params"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "name",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "value",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "default_payment_method"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "due_date"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "days_until_due"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "description"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "statement_descriptor"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tax_percent"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "auto_advance"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "collection_method"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "send_invoice",
                                "charge_automatically"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "application_fee_amount"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "customer",
                          "required": "true"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "v1InvoicesContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1Invoices",
          "displayModel": {
            "displayName": "Create Invoice",
            "summary": "This endpoint creates a draft invoice for a given customer."
          },
          "description": "This endpoint creates a draft invoice for a given customer. The draft invoice created pulls in all pending invoice items on that customer, including prorations. This operation makes an HTTP POST request to the /v1/invoices endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Invoice",
                "description": {
                  "value": "Invoices are statements of amounts owed by a customer, and are either\ngenerated one-off, or generated periodically from a subscription.\n\nThey contain [invoice items](https://stripe.com/docs/api#invoiceitems), and proration adjustments\nthat may be caused by subscription upgrades/downgrades (if necessary).\n\nIf your invoice is configured to be billed through automatic charges,\nStripe automatically finalizes your invoice and attempts payment. Note\nthat finalizing the invoice,\n[when automatic](https://stripe.com/docs/billing/invoices/workflow/#auto_advance), does\nnot happen immediately as the invoice is created. Stripe waits\nuntil one hour after the last webhook was successfully sent (or the last\nwebhook timed out after failing). If you (and the platforms you may have\nconnected to) have no webhooks configured, Stripe waits one hour after\ncreation to finalize the invoice.\n\nIf your invoice is configured to be billed by sending an email, then based on your\n[email settings](https://dashboard.stripe.com/account/billing/automatic\u0027),\nStripe will email the invoice to your customer and await payment. These\nemails can contain a link to a hosted page to pay the invoice.\n\nStripe applies any customer credit on the account before determining the\namount due for the invoice (i.e., the amount that will be actually\ncharged). If the amount due for the invoice is less than Stripe\u0027s [minimum allowed charge\nper currency](/docs/currencies#minimum-and-maximum-charge-amounts), the\ninvoice is automatically marked paid, and we add the amount due to the\ncustomer\u0027s running account balance which is applied to the next invoice.\n\nMore details on the customer\u0027s account balance are\n[here](https://stripe.com/docs/api/customers/object#customer_object-account_balance).\n\nRelated guide: [Send Invoices to Customers](https://stripe.com/docs/billing/invoices/sending)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "amount_paid",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "amount_remaining",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_shipping"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Shipping"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "carrier"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "Address"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "city"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "state"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "postal_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line2"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line1"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tracking_number"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "metadata"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "total_tax_amounts"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The aggregate amounts calculated per tax rate for all line items."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "InvoiceTaxAmount"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "amount",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "tax_rate",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "discount"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                      },
                      "label": "Discount"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "coupon",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                            },
                            "label": "Coupon"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "redeem_by"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "metadata",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "description": {
                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                  }
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": []
                              }
                            },
                            {
                              "key": {
                                "name": "livemode",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "created",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "max_redemptions"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "times_redeemed",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "duration",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "once",
                                      "repeating",
                                      "forever"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "valid",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "duration_in_months"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "currency"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "percent_off"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "id",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "amount_off"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "object",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "coupon"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "start",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "discount"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "statement_descriptor"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "number"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "tax_percent"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "auto_advance"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "period_start",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "amount_due",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "id"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "customer_address"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Address"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "country"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "city"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "state"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "postal_code"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line2"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line1"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "custom_fields"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "Custom fields displayed on the invoice."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "InvoiceSettingCustomField"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "value",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_phone"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "ending_balance"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "tax"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "period_end",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "webhooks_delivered_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "subtotal",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_email"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "payment_intent"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "next_payment_attempt"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "application_fee_amount"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "invoice"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "status"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "deleted",
                          "void",
                          "uncollectible",
                          "draft",
                          "paid",
                          "open"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "invoice_pdf"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "footer"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "subscription"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "starting_balance",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "threshold_reason"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "InvoiceThresholdReason"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "item_reasons",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Indicates which line items triggered a threshold invoice."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "InvoiceItemThresholdReason"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "usage_gte",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "line_item_ids",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The IDs of the line items that triggered the threshold invoice."
                                    }
                                  },
                                  "item": {
                                    "type": "String"
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount_gte"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "total",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "pre_payment_credit_notes_amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "account_name"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "currency",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "account_country"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "lines",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The individual line items that make up the invoice. `lines` is sorted as follows: invoice items in reverse chronological order, followed by the subscription, if any."
                      },
                      "label": "InvoiceLinesList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "InvoiceLineItem"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "amount",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type\u003dsubscription` this will reflect the metadata of the subscription that caused the line item to be created."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "period",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "InvoiceLineItemPeriod"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "start",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "end",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "description"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "type",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "invoiceitem",
                                        "subscription"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "proration",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_amounts"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The amount of tax calculated per tax rate for this line item"
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "label": "InvoiceTaxAmount"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "amount",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "tax_rate",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates which apply to the line item."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "invoice_item"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription_item"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "currency",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "discountable",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "line_item"
                                      ]
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "subscription_proration_date"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "attempt_count",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_tax_rates"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The tax rates applied to this invoice, if any."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "description": {
                          "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                        },
                        "label": "TaxRate"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "metadata",
                            "required": "true"
                          },
                          "model": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                              }
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": []
                          }
                        },
                        {
                          "key": {
                            "name": "livemode",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "created",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "jurisdiction"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "percentage",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number"
                          }
                        },
                        {
                          "key": {
                            "name": "active",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "description"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "id",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "display_name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "object",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "tax_rate"
                                ]
                              }
                            }
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "charge"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "default_source"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "post_payment_credit_notes_amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_payment_method"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "due_date"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "billing_reason"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "subscription_create",
                          "automatic_pending_invoice_item_invoice",
                          "subscription_cycle",
                          "subscription",
                          "manual",
                          "subscription_update",
                          "upcoming",
                          "subscription_threshold"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "receipt_number"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "collection_method"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "send_invoice",
                          "charge_automatically"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_tax_ids"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "InvoicesResourceInvoiceTaxID"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "type",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "au_abn",
                                  "tw_vat",
                                  "us_ein",
                                  "ca_qst",
                                  "my_itn",
                                  "th_vat",
                                  "ru_inn",
                                  "sg_gst",
                                  "in_gst",
                                  "nz_gst",
                                  "jp_cn",
                                  "kr_brn",
                                  "unknown",
                                  "mx_rfc",
                                  "no_vat",
                                  "my_sst",
                                  "ch_vat",
                                  "za_vat",
                                  "sg_uen",
                                  "hk_br",
                                  "ca_bn",
                                  "eu_vat",
                                  "li_uid",
                                  "es_cif"
                                ]
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "value"
                          },
                          "model": {
                            "type": "String"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "hosted_invoice_url"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "paid",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "attempted",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "customer_name"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "status_transitions",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "InvoicesStatusTransitions"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "finalized_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "paid_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "voided_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "marked_uncollectible_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "customer",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "customer_tax_exempt"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "exempt",
                          "none",
                          "reverse"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_INVOICES_CITIZEN",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "customer",
                  "description": "the ID of the customer who will be billed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1InvoicesCitizen",
          "displayModel": {
            "displayName": "Create Invoice Citizen",
            "summary": "This endpoint creates a draft invoice for a given customer."
          },
          "description": "This endpoint creates a draft invoice for the citizen client. The draft invoice created pulls in all pending invoice items on that customer, including prorations. This operation makes an HTTP POST request to the /v1/invoices endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Invoice",
                "description": {
                  "value": "Invoices are statements of amounts owed by a customer, and are either\ngenerated one-off, or generated periodically from a subscription.\n\nThey contain [invoice items](https://stripe.com/docs/api#invoiceitems), and proration adjustments\nthat may be caused by subscription upgrades/downgrades (if necessary).\n\nIf your invoice is configured to be billed through automatic charges,\nStripe automatically finalizes your invoice and attempts payment. Note\nthat finalizing the invoice,\n[when automatic](https://stripe.com/docs/billing/invoices/workflow/#auto_advance), does\nnot happen immediately as the invoice is created. Stripe waits\nuntil one hour after the last webhook was successfully sent (or the last\nwebhook timed out after failing). If you (and the platforms you may have\nconnected to) have no webhooks configured, Stripe waits one hour after\ncreation to finalize the invoice.\n\nIf your invoice is configured to be billed by sending an email, then based on your\n[email settings](https://dashboard.stripe.com/account/billing/automatic\u0027),\nStripe will email the invoice to your customer and await payment. These\nemails can contain a link to a hosted page to pay the invoice.\n\nStripe applies any customer credit on the account before determining the\namount due for the invoice (i.e., the amount that will be actually\ncharged). If the amount due for the invoice is less than Stripe\u0027s [minimum allowed charge\nper currency](/docs/currencies#minimum-and-maximum-charge-amounts), the\ninvoice is automatically marked paid, and we add the amount due to the\ncustomer\u0027s running account balance which is applied to the next invoice.\n\nMore details on the customer\u0027s account balance are\n[here](https://stripe.com/docs/api/customers/object#customer_object-account_balance).\n\nRelated guide: [Send Invoices to Customers](https://stripe.com/docs/billing/invoices/sending)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "amount_paid",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "amount_remaining",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_shipping"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Shipping"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "carrier"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "Address"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "city"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "state"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "postal_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line2"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line1"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tracking_number"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "metadata"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "total_tax_amounts"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The aggregate amounts calculated per tax rate for all line items."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "InvoiceTaxAmount"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "amount",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "tax_rate",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "discount"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                      },
                      "label": "Discount"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "coupon",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                            },
                            "label": "Coupon"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "redeem_by"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "metadata",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "description": {
                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                  }
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": []
                              }
                            },
                            {
                              "key": {
                                "name": "livemode",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "created",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "max_redemptions"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "times_redeemed",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "duration",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "once",
                                      "repeating",
                                      "forever"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "valid",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "duration_in_months"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "currency"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "percent_off"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "id",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "amount_off"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "object",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "coupon"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "start",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "discount"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "statement_descriptor"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "number"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "tax_percent"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "auto_advance"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "period_start",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "amount_due",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "id"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "customer_address"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Address"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "country"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "city"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "state"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "postal_code"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line2"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line1"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "custom_fields"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "Custom fields displayed on the invoice."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "InvoiceSettingCustomField"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "value",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_phone"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "ending_balance"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "tax"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "period_end",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "webhooks_delivered_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "subtotal",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_email"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "payment_intent"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "next_payment_attempt"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "application_fee_amount"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "invoice"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "status"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "deleted",
                          "void",
                          "uncollectible",
                          "draft",
                          "paid",
                          "open"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "invoice_pdf"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "footer"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "subscription"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "starting_balance",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "threshold_reason"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "InvoiceThresholdReason"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "item_reasons",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Indicates which line items triggered a threshold invoice."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "InvoiceItemThresholdReason"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "usage_gte",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "line_item_ids",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The IDs of the line items that triggered the threshold invoice."
                                    }
                                  },
                                  "item": {
                                    "type": "String"
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount_gte"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "total",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "pre_payment_credit_notes_amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "account_name"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "currency",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "account_country"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "lines",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The individual line items that make up the invoice. `lines` is sorted as follows: invoice items in reverse chronological order, followed by the subscription, if any."
                      },
                      "label": "InvoiceLinesList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "InvoiceLineItem"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "amount",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type\u003dsubscription` this will reflect the metadata of the subscription that caused the line item to be created."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "period",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "InvoiceLineItemPeriod"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "start",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "end",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "description"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "type",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "invoiceitem",
                                        "subscription"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "proration",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_amounts"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The amount of tax calculated per tax rate for this line item"
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "label": "InvoiceTaxAmount"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "amount",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "tax_rate",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates which apply to the line item."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "invoice_item"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription_item"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "currency",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "discountable",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "line_item"
                                      ]
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "subscription_proration_date"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "attempt_count",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_tax_rates"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The tax rates applied to this invoice, if any."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "description": {
                          "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                        },
                        "label": "TaxRate"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "metadata",
                            "required": "true"
                          },
                          "model": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                              }
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": []
                          }
                        },
                        {
                          "key": {
                            "name": "livemode",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "created",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "jurisdiction"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "percentage",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number"
                          }
                        },
                        {
                          "key": {
                            "name": "active",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "description"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "id",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "display_name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "object",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "tax_rate"
                                ]
                              }
                            }
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "charge"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "default_source"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "post_payment_credit_notes_amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_payment_method"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "due_date"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "billing_reason"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "subscription_create",
                          "automatic_pending_invoice_item_invoice",
                          "subscription_cycle",
                          "subscription",
                          "manual",
                          "subscription_update",
                          "upcoming",
                          "subscription_threshold"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "receipt_number"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "collection_method"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "send_invoice",
                          "charge_automatically"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_tax_ids"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "InvoicesResourceInvoiceTaxID"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "type",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "au_abn",
                                  "tw_vat",
                                  "us_ein",
                                  "ca_qst",
                                  "my_itn",
                                  "th_vat",
                                  "ru_inn",
                                  "sg_gst",
                                  "in_gst",
                                  "nz_gst",
                                  "jp_cn",
                                  "kr_brn",
                                  "unknown",
                                  "mx_rfc",
                                  "no_vat",
                                  "my_sst",
                                  "ch_vat",
                                  "za_vat",
                                  "sg_uen",
                                  "hk_br",
                                  "ca_bn",
                                  "eu_vat",
                                  "li_uid",
                                  "es_cif"
                                ]
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "value"
                          },
                          "model": {
                            "type": "String"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "hosted_invoice_url"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "paid",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "attempted",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "customer_name"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "status_transitions",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "InvoicesStatusTransitions"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "finalized_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "paid_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "voided_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "marked_uncollectible_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "customer",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "customer_tax_exempt"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "exempt",
                          "none",
                          "reverse"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_INVOICES_PAY_BY_INVOICE",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "invoice",
                  "displayModel": {
                    "displayName": "invoice"
                  },
                  "description": "invoice",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "paid_out_of_band"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "forgive"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "off_session"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "source"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "payment_method"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "v1InvoicesPayContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1InvoicesPayByInvoice",
          "displayModel": {
            "displayName": "Pay invoice",
            "summary": "Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to you..."
          },
          "description": "Stripe automatically creates and then attempts to collect payment on invoices for customers on subscriptions according to your subscriptions settings. However, if youâd like to attempt payment on an invoice out of the normal collection schedule or for some other reason, you can do so. This operation makes an HTTP POST request to the /v1/invoices/{invoice}/pay endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Order",
                "description": {
                  "value": "Order objects are created to handle end customers\u0027 purchases of previously\ndefined [products](https://stripe.com/docs/api#products). You can create, retrieve, and pay individual orders, as well\nas list all orders. Orders are identified by a unique, random ID.\n\nRelated guide: [Tax, Shipping, and Inventory](https://stripe.com/docs/orders)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "amount_returned"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "charge"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "external_coupon_code"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "upstream_id"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "selected_shipping_method"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "application"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "shipping"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Shipping"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "carrier"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "Address"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "city"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "state"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "postal_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line2"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line1"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tracking_number"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "shipping_methods"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "A list of supported shipping methods for this order. The desired shipping method can be specified either by updating the order, or when paying it."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "ShippingMethod"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "amount",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "description",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "currency",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "id",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "delivery_estimate"
                          },
                          "model": {
                            "type": "Object",
                            "annotations": {
                              "label": "DeliveryEstimate"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "date"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "type",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "earliest"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "latest"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "application_fee"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "currency",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "returns"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A list of returns that have taken place for this order."
                      },
                      "label": "OrderReturnList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "A return represents the full or partial return of a number of [order items](https://stripe.com/docs/api#order_items).\nReturns always belong to an order, and may optionally contain a refund.\n\nRelated guide: [Handling Returns](https://stripe.com/docs/orders/guide#handling-returns)."
                              },
                              "label": "OrderReturn"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "amount",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "currency",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "items",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The items included in this order return."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "A representation of the constituent items of any given order. Can be used to\nrepresent [SKUs](https://stripe.com/docs/api#skus), shipping costs, or taxes owed on the order.\n\nRelated guide: [Orders](https://stripe.com/docs/orders/guide)."
                                      },
                                      "label": "OrderItem"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "parent"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "amount",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "quantity"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "currency",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "type",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "order_item"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "order_return"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "order"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "refund"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "status_transitions"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "StatusTransitions"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "fulfiled"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "canceled"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "paid"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "returned"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "items",
                    "required": "true"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "List of items constituting the order. An order can have up to 25 items."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "description": {
                          "value": "A representation of the constituent items of any given order. Can be used to\nrepresent [SKUs](https://stripe.com/docs/api#skus), shipping costs, or taxes owed on the order.\n\nRelated guide: [Orders](https://stripe.com/docs/orders/guide)."
                        },
                        "label": "OrderItem"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "parent"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "amount",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "quantity"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "description",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "currency",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "type",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "object",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "order_item"
                                ]
                              }
                            }
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "updated"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "email"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "customer"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "order"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "status",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_ORDERS",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                            }
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "coupon"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "shipping"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Shipping address for the order. Required if any of the SKUs are for products that have `shippable` set to true."
                            },
                            "label": "customer_shipping"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "address",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "label": "address"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "country"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "city"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "state"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "postal_code"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "line2"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "line1",
                                      "required": "true"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "key": {
                                "name": "phone"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "name",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "currency",
                          "required": "true"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "items"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "List of items constituting the order. An order can have up to 25 items."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "order_item_specs"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "parent"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "description"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "currency"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "type"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "shipping",
                                        "discount",
                                        "tax",
                                        "sku"
                                      ]
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "email"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "v1OrdersContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1Orders",
          "displayModel": {
            "displayName": "Create Order",
            "summary": "Creates a new order object."
          },
          "description": "Creates a new order object. This operation makes an HTTP POST request to the /v1/orders endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Product",
                "description": {
                  "value": "Products describe the specific goods or services you offer to your customers.\nFor example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product.\nThey can be used in conjuction with [SKUs](https://stripe.com/docs/api#skus) and [Plans](https://stripe.com/docs/api#plans) to configure pricing in Checkout and Subscriptions.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) or accept [one-time payments with Checkout](https://stripe.com/docs/payments/checkout/client#create-products) and more about [Products and Plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)"
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "deactivate_on"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "An array of connect application identifiers that cannot purchase this product. Only applicable to products of `type\u003dgood`."
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  }
                },
                {
                  "key": {
                    "name": "images",
                    "required": "true"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer."
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  }
                },
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "active",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "caption"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "type",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "service",
                          "good"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "url"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "package_dimensions"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "PackageDimensions"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "length",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "width",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "weight",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "height",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "statement_descriptor"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "shippable"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "name",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "attributes"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "A list of up to 5 attributes that each SKU can provide values for (e.g., `[\"color\", \"size\"]`)."
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "unit_label"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "updated",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "product"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_PRODUCTS",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "deactivate_on"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "An array of Connect application names or identifiers that should not be able to order the SKUs for this product. May only be set if type\u003d`good`."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "images"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                            }
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "active"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "caption"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "description"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "type"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "service",
                                "good"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "url"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "package_dimensions"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "The dimensions of this product for shipping purposes. A SKU associated with this product can override this value by having its own `package_dimensions`. May only be set if type\u003d`good`."
                            },
                            "label": "package_dimensions_specs"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "length",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "width",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "weight",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "height",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "statement_descriptor"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "shippable"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "name",
                          "required": "true"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "attributes"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "A list of up to 5 alphanumeric attributes."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "id"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "unit_label"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "v1ProductsContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1Products",
          "displayModel": {
            "displayName": "Create Product",
            "summary": "Creates a new product object."
          },
          "description": "Creates a new product object. This operation makes an HTTP POST request to the /v1/products endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Product",
                "description": {
                  "value": "Products describe the specific goods or services you offer to your customers.\nFor example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product.\nThey can be used in conjuction with [SKUs](https://stripe.com/docs/api#skus) and [Plans](https://stripe.com/docs/api#plans) to configure pricing in Checkout and Subscriptions.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) or accept [one-time payments with Checkout](https://stripe.com/docs/payments/checkout/client#create-products) and more about [Products and Plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)"
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "deactivate_on"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "An array of connect application identifiers that cannot purchase this product. Only applicable to products of `type\u003dgood`."
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  }
                },
                {
                  "key": {
                    "name": "images",
                    "required": "true"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer."
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  }
                },
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "active",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "caption"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "type",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "service",
                          "good"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "url"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "package_dimensions"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "PackageDimensions"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "length",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "width",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "weight",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "height",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "statement_descriptor"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "shippable"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "name",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "attributes"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "A list of up to 5 attributes that each SKU can provide values for (e.g., `[\"color\", \"size\"]`)."
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "unit_label"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "updated",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "product"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_PRODUCTS_BY_ID",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "id",
                  "displayModel": {
                    "displayName": "id"
                  },
                  "description": "id",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "deactivate_on"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "An array of Connect application names or identifiers that should not be able to order the SKUs for this product. May only be set if `type\u003dgood`."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "images"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "active"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "caption"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "description"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "url"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "package_dimensions"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "statement_descriptor"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "shippable"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "attributes"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "A list of up to 5 alphanumeric attributes that each SKU can provide values for (e.g., `[\"color\", \"size\"]`). If a value for `attributes` is specified, the list specified will replace the existing attributes list on this product. Any attributes not present after the update will be deleted from the SKUs for this product."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "unit_label"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "createV1ProductsByIdContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1ProductsById",
          "displayModel": {
            "displayName": "Update Product",
            "summary": "Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged."
          },
          "description": "Updates the specific product by setting the values of the parameters passed. Any parameters not provided will be left unchanged. This operation makes an HTTP POST request to the /v1/products/{id} endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Product",
                "description": {
                  "value": "Products describe the specific goods or services you offer to your customers.\nFor example, you might offer a Standard and Premium version of your goods or service; each version would be a separate Product.\nThey can be used in conjuction with [SKUs](https://stripe.com/docs/api#skus) and [Plans](https://stripe.com/docs/api#plans) to configure pricing in Checkout and Subscriptions.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) or accept [one-time payments with Checkout](https://stripe.com/docs/payments/checkout/client#create-products) and more about [Products and Plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)"
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "deactivate_on"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "An array of connect application identifiers that cannot purchase this product. Only applicable to products of `type\u003dgood`."
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  }
                },
                {
                  "key": {
                    "name": "images",
                    "required": "true"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "A list of up to 8 URLs of images for this product, meant to be displayable to the customer."
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  }
                },
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "active",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "caption"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "type",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "service",
                          "good"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "url"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "package_dimensions"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "PackageDimensions"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "length",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "width",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "weight",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "height",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "statement_descriptor"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "shippable"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "name",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "attributes"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "A list of up to 5 attributes that each SKU can provide values for (e.g., `[\"color\", \"size\"]`)."
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "unit_label"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "updated",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "product"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_PRODUCTS_CITIZEN",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "name",
                  "description": "the product name, meant to be displayable to the customer. Whenever this product is sold via a subscription, name will show up on associated invoice line item descriptions.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1ProductsCitizen",
          "displayModel": {
            "displayName": "Create Product Citizen",
            "summary": "Creates a new product object."
          },
          "description": "Creates a new product object for the citizen client. This operation makes an HTTP POST request to the /v1/products endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Refund",
                "description": {
                  "value": "`Refund` objects allow you to refund a charge that has previously been created\nbut not yet refunded. Funds will be refunded to the credit or debit card that\nwas originally charged.\n\nRelated guide: [Refunds](https://stripe.com/docs/refunds)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "balance_transaction"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "reason"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "charge"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "failure_reason"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "source_transfer_reversal"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "failure_balance_transaction"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "receipt_number"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "transfer_reversal"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "currency",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "payment_intent"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "refund"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "status"
                  },
                  "model": {
                    "type": "String"
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_REFUNDS",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "reason"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "requested_by_customer",
                                "duplicate",
                                "fraudulent"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Individual keys can be unset by posting an empty value to them. All keys can be unset by posting an empty value to `metadata`."
                            }
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "charge"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "refund_application_fee"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "reverse_transfer"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "payment_intent"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "v1RefundsContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1Refunds",
          "displayModel": {
            "displayName": "Create Refund",
            "summary": "Create a refund."
          },
          "description": "Create a refund. This operation makes an HTTP POST request to the /v1/refunds endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Subscription",
                "description": {
                  "value": "Subscriptions allow you to charge a customer on a recurring basis.\n\nRelated guide: [Creating Subscriptions](https://stripe.com/docs/billing/subscriptions/creating)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "cancel_at_period_end",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "pending_setup_intent"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "pending_update"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Pending Updates store the changes pending from a previous update that will be applied\nto the Subscription upon successful payment."
                      },
                      "label": "SubscriptionsResourcePendingUpdate"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "subscription_items"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "List of subscription items, each with an attached plan, that will be set if the update is applied."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                              },
                              "label": "SubscriptionItem"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionItemBillingThresholds"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "usage_gte"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "subscription_item"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_from_plan"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "expires_at",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "billing_cycle_anchor"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "canceled_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "days_until_due"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "discount"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                      },
                      "label": "Discount"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "coupon",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                            },
                            "label": "Coupon"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "redeem_by"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "metadata",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "description": {
                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                  }
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": []
                              }
                            },
                            {
                              "key": {
                                "name": "livemode",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "created",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "max_redemptions"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "times_redeemed",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "duration",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "once",
                                      "repeating",
                                      "forever"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "valid",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "duration_in_months"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "currency"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "percent_off"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "id",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "amount_off"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "object",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "coupon"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "start",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "discount"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "application_fee_percent"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "pause_collection"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The Pause Collection settings determine how we will pause collection for this subscription and for how long the subscription\nshould be paused."
                      },
                      "label": "SubscriptionsResourcePauseCollection"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "resumes_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "behavior",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "keep_as_draft",
                                "void",
                                "mark_uncollectible"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "tax_percent"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "plan"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                      },
                      "label": "Plan"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "interval_count",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                            }
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "product"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tiers"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "PlanTier"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "flat_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "unit_amount_decimal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "up_to"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "unit_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "flat_amount_decimal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "livemode",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "created",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount_decimal"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "transform_usage"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "TransformUsage"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "round",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "up",
                                      "down"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "divide_by",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "active",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "aggregate_usage"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "last_during_period",
                                "max",
                                "sum",
                                "last_ever"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "billing_scheme",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "per_unit",
                                "tiered"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_period_days"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "tiers_mode"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "volume",
                                "graduated"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "usage_type",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "licensed",
                                "metered"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "nickname"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "currency",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "interval",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "week",
                                "month",
                                "year",
                                "day"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "id",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "plan"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "current_period_start",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "start_date",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_tax_rates"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "description": {
                          "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                        },
                        "label": "TaxRate"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "metadata",
                            "required": "true"
                          },
                          "model": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                              }
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": []
                          }
                        },
                        {
                          "key": {
                            "name": "livemode",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "created",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "jurisdiction"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "percentage",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number"
                          }
                        },
                        {
                          "key": {
                            "name": "active",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "description"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "id",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "display_name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "object",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "tax_rate"
                                ]
                              }
                            }
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "latest_invoice"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "quantity"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_source"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_payment_method"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "trial_end"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "current_period_end",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "pending_invoice_item_interval"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "SubscriptionPendingInvoiceItemInterval"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "interval_count",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "interval",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "week",
                                "month",
                                "year",
                                "day"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "billing_cycle_anchor",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "schedule"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "collection_method"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "send_invoice",
                          "charge_automatically"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "trial_start"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "billing_thresholds"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "SubscriptionBillingThresholds"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "reset_billing_cycle_anchor"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "amount_gte"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "next_pending_invoice_item_invoice"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "items",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "List of subscription items, each with an attached plan."
                      },
                      "label": "SubscriptionItemList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                              },
                              "label": "SubscriptionItem"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionItemBillingThresholds"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "usage_gte"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "subscription_item"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "ended_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "cancel_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "subscription"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "status",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "canceled",
                          "incomplete",
                          "active",
                          "trialing",
                          "past_due",
                          "unpaid",
                          "incomplete_expired"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_SUBSCRIPTIONS",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "metadata"
                        },
                        "model": {
                          "format": "json",
                          "type": "Union",
                          "of": [
                            {
                              "type": "Object",
                              "open": {
                                "type": "Any"
                              },
                              "fields": []
                            },
                            {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    ""
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "payment_behavior"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "allow_incomplete",
                                "pending_if_incomplete",
                                "error_if_incomplete"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "cancel_at_period_end"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "days_until_due"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_period_days"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "application_fee_percent"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "transfer_data"
                        },
                        "model": {
                          "format": "json",
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "If specified, the funds from the subscription\u0027s invoices will be transferred to the destination and the ID of the resulting transfers will be found on the resulting charges."
                            },
                            "label": "transfer_data_specs"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "amount_percent"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "destination",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "add_invoice_items"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "A list of prices and quantities that will generate invoice items appended to the first invoice for this subscription. You may pass up to 10 items."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "add_invoice_item_entry"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "price_data"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "one_time_price_data"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "product",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "length": {
                                            "max": 5000
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "unit_amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "unit_amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "price"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "length": {
                                      "max": 5000
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "off_session"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "proration_behavior"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "create_prorations",
                                "always_invoice",
                                "none"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "default_tax_rates"
                        },
                        "model": {
                          "format": "json",
                          "type": "Union",
                          "of": [
                            {
                              "type": "Array",
                              "item": {
                                "type": "String",
                                "annotations": {
                                  "length": {
                                    "max": 5000
                                  }
                                }
                              }
                            },
                            {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    ""
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "coupon"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "length": {
                              "max": 5000
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "default_source"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "length": {
                              "max": 5000
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "promotion_code"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "length": {
                              "max": 5000
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "default_payment_method"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "length": {
                              "max": 5000
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_end"
                        },
                        "model": {
                          "format": "json",
                          "type": "Union",
                          "of": [
                            {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "now"
                                  ]
                                }
                              }
                            },
                            {
                              "type": "Number",
                              "annotations": {
                                "int": {}
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "pending_invoice_item_interval"
                        },
                        "model": {
                          "format": "json",
                          "type": "Union",
                          "of": [
                            {
                              "type": "Object",
                              "annotations": {
                                "label": "pending_invoice_item_interval_params"
                              },
                              "open": {
                                "type": "Any"
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "interval_count"
                                  },
                                  "model": {
                                    "type": "Number",
                                    "annotations": {
                                      "int": {}
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "interval",
                                    "required": "true"
                                  },
                                  "model": {
                                    "type": "String",
                                    "annotations": {
                                      "enum": {
                                        "type": "[Ljava.lang.String;",
                                        "values": [
                                          "week",
                                          "month",
                                          "year",
                                          "day"
                                        ]
                                      }
                                    }
                                  }
                                }
                              ]
                            },
                            {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    ""
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "billing_cycle_anchor"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String",
                            "annotations": {
                              "length": {
                                "max": 5000
                              }
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_from_plan"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "collection_method"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "send_invoice",
                                "charge_automatically"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "backdate_start_date"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "billing_thresholds"
                        },
                        "model": {
                          "format": "json",
                          "type": "Union",
                          "of": [
                            {
                              "type": "Object",
                              "annotations": {
                                "label": "billing_thresholds_param"
                              },
                              "open": {
                                "type": "Any"
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "reset_billing_cycle_anchor"
                                  },
                                  "model": {
                                    "type": "Boolean"
                                  }
                                },
                                {
                                  "key": {
                                    "name": "amount_gte"
                                  },
                                  "model": {
                                    "type": "Number",
                                    "annotations": {
                                      "int": {}
                                    }
                                  }
                                }
                              ]
                            },
                            {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    ""
                                  ]
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "items"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "A list of up to 20 subscription items, each with an attached price."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "subscription_item_create_params"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata"
                                },
                                "model": {
                                  "type": "Object",
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "price_data"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "recurring_price_data"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "product",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "length": {
                                            "max": 5000
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "recurring",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "recurring_adhoc"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "interval_count"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "interval",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "week",
                                                    "month",
                                                    "year",
                                                    "day"
                                                  ]
                                                }
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "unit_amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "unit_amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "price"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "length": {
                                      "max": 5000
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Union",
                                  "of": [
                                    {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "item_billing_thresholds_param"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": [
                                        {
                                          "key": {
                                            "name": "usage_gte",
                                            "required": "true"
                                          },
                                          "model": {
                                            "type": "Number",
                                            "annotations": {
                                              "int": {}
                                            }
                                          }
                                        }
                                      ]
                                    },
                                    {
                                      "type": "String",
                                      "annotations": {
                                        "enum": {
                                          "type": "[Ljava.lang.String;",
                                          "values": [
                                            ""
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Union",
                                  "of": [
                                    {
                                      "type": "Array",
                                      "item": {
                                        "type": "String",
                                        "annotations": {
                                          "length": {
                                            "max": 5000
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "type": "String",
                                      "annotations": {
                                        "enum": {
                                          "type": "[Ljava.lang.String;",
                                          "values": [
                                            ""
                                          ]
                                        }
                                      }
                                    }
                                  ]
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "cancel_at"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "customer",
                          "required": "true"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "length": {
                              "max": 5000
                            }
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "v1SubscriptionsContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1Subscriptions",
          "displayModel": {
            "displayName": "Create Subscription",
            "summary": "Creates a new subscription on an existing customer. Each customer can have up to 25 active or scheduled subscriptions."
          },
          "description": "Creates a new subscription on an existing customer. Each customer can have up to 25 active or scheduled subscriptions. This operation makes an HTTP POST request to the /v1/subscriptions endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Subscription",
                "description": {
                  "value": "Subscriptions allow you to charge a customer on a recurring basis.\n\nRelated guide: [Creating Subscriptions](https://stripe.com/docs/billing/subscriptions/creating)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "cancel_at_period_end",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "pending_setup_intent"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "pending_update"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Pending Updates store the changes pending from a previous update that will be applied\nto the Subscription upon successful payment."
                      },
                      "label": "SubscriptionsResourcePendingUpdate"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "subscription_items"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "List of subscription items, each with an attached plan, that will be set if the update is applied."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                              },
                              "label": "SubscriptionItem"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionItemBillingThresholds"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "usage_gte"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "subscription_item"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_from_plan"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "expires_at",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "billing_cycle_anchor"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "canceled_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "days_until_due"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "discount"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                      },
                      "label": "Discount"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "coupon",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                            },
                            "label": "Coupon"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "redeem_by"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "metadata",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "description": {
                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                  }
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": []
                              }
                            },
                            {
                              "key": {
                                "name": "livemode",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "created",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "max_redemptions"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "times_redeemed",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "duration",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "once",
                                      "repeating",
                                      "forever"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "valid",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "duration_in_months"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "currency"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "percent_off"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "id",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "amount_off"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "object",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "coupon"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "start",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "discount"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "application_fee_percent"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "pause_collection"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The Pause Collection settings determine how we will pause collection for this subscription and for how long the subscription\nshould be paused."
                      },
                      "label": "SubscriptionsResourcePauseCollection"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "resumes_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "behavior",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "keep_as_draft",
                                "void",
                                "mark_uncollectible"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "tax_percent"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "plan"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                      },
                      "label": "Plan"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "interval_count",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                            }
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "product"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tiers"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "PlanTier"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "flat_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "unit_amount_decimal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "up_to"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "unit_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "flat_amount_decimal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "livemode",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "created",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount_decimal"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "transform_usage"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "TransformUsage"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "round",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "up",
                                      "down"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "divide_by",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "active",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "aggregate_usage"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "last_during_period",
                                "max",
                                "sum",
                                "last_ever"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "billing_scheme",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "per_unit",
                                "tiered"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_period_days"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "tiers_mode"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "volume",
                                "graduated"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "usage_type",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "licensed",
                                "metered"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "nickname"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "currency",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "interval",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "week",
                                "month",
                                "year",
                                "day"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "id",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "plan"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "current_period_start",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "start_date",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_tax_rates"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "description": {
                          "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                        },
                        "label": "TaxRate"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "metadata",
                            "required": "true"
                          },
                          "model": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                              }
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": []
                          }
                        },
                        {
                          "key": {
                            "name": "livemode",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "created",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "jurisdiction"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "percentage",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number"
                          }
                        },
                        {
                          "key": {
                            "name": "active",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "description"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "id",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "display_name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "object",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "tax_rate"
                                ]
                              }
                            }
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "latest_invoice"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "quantity"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_source"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_payment_method"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "trial_end"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "current_period_end",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "pending_invoice_item_interval"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "SubscriptionPendingInvoiceItemInterval"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "interval_count",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "interval",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "week",
                                "month",
                                "year",
                                "day"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "billing_cycle_anchor",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "schedule"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "collection_method"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "send_invoice",
                          "charge_automatically"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "trial_start"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "billing_thresholds"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "SubscriptionBillingThresholds"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "reset_billing_cycle_anchor"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "amount_gte"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "next_pending_invoice_item_invoice"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "items",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "List of subscription items, each with an attached plan."
                      },
                      "label": "SubscriptionItemList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                              },
                              "label": "SubscriptionItem"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionItemBillingThresholds"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "usage_gte"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "subscription_item"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "ended_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "cancel_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "subscription"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "status",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "canceled",
                          "incomplete",
                          "active",
                          "trialing",
                          "past_due",
                          "unpaid",
                          "incomplete_expired"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "CREATE_V1_SUBSCRIPTIONS_BY_SUBSCRIPTION_EXPOSED_ID",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "subscriptionExposedId",
                  "displayModel": {
                    "displayName": "Subscription exposed id"
                  },
                  "description": "Subscription exposed id",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "default_tax_rates"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription. Pass an empty string to remove previously-defined tax rates."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "payment_behavior"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "allow_incomplete",
                                "pending_if_incomplete",
                                "error_if_incomplete"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "cancel_at_period_end"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "coupon"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "default_source"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "default_payment_method"
                        },
                        "model": {
                          "format": "json",
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "days_until_due"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_end"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "pending_invoice_item_interval"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "application_fee_percent"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number"
                        }
                      },
                      {
                        "key": {
                          "name": "billing_cycle_anchor"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "now",
                                "unchanged"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "pause_collection"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "tax_percent"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_from_plan"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "off_session"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "collection_method"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "send_invoice",
                                "charge_automatically"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "billing_thresholds"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      },
                      {
                        "key": {
                          "name": "proration_behavior"
                        },
                        "model": {
                          "format": "json",
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "create_prorations",
                                "always_invoice",
                                "none"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "items"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "List of subscription items, each with an attached plan."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "subscription_item_update_params"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata"
                                },
                                "model": {
                                  "type": "Any"
                                }
                              },
                              {
                                "key": {
                                  "name": "deleted"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "clear_usage"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Any"
                                }
                              },
                              {
                                "key": {
                                  "name": "id"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "item": {
                                    "type": "String"
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "prorate"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "proration_date"
                        },
                        "model": {
                          "format": "json",
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "cancel_at"
                        },
                        "model": {
                          "format": "json",
                          "type": "Any"
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "createV1SubscriptionsBySubscriptionExposedIdContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "createV1SubscriptionsBySubscriptionExposedId",
          "displayModel": {
            "displayName": "Update Subscription",
            "summary": "Updates an existing subscription on a customer to match the specified parameters."
          },
          "description": "Updates an existing subscription on a customer to match the specified parameters. When changing plans or quantities, we will optionally prorate the price we charge next month to make up for any price changes. To preview how the proration will be calculated, use the upcoming invoice endpoint. This operation makes an HTTP POST request to the /v1/subscriptions/{subscription_exposed_id} endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Subscription",
                "description": {
                  "value": "Subscriptions allow you to charge a customer on a recurring basis.\n\nRelated guide: [Creating Subscriptions](https://stripe.com/docs/billing/subscriptions/creating)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "cancel_at_period_end",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "pending_setup_intent"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "pending_update"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Pending Updates store the changes pending from a previous update that will be applied\nto the Subscription upon successful payment."
                      },
                      "label": "SubscriptionsResourcePendingUpdate"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "subscription_items"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "List of subscription items, each with an attached plan, that will be set if the update is applied."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                              },
                              "label": "SubscriptionItem"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionItemBillingThresholds"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "usage_gte"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "subscription_item"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_from_plan"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "expires_at",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "billing_cycle_anchor"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "canceled_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "days_until_due"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "discount"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                      },
                      "label": "Discount"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "coupon",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                            },
                            "label": "Coupon"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "redeem_by"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "metadata",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "description": {
                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                  }
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": []
                              }
                            },
                            {
                              "key": {
                                "name": "livemode",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "created",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "max_redemptions"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "times_redeemed",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "duration",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "once",
                                      "repeating",
                                      "forever"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "valid",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "duration_in_months"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "currency"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "percent_off"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "id",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "amount_off"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "object",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "coupon"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "start",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "discount"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "application_fee_percent"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "pause_collection"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The Pause Collection settings determine how we will pause collection for this subscription and for how long the subscription\nshould be paused."
                      },
                      "label": "SubscriptionsResourcePauseCollection"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "resumes_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "behavior",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "keep_as_draft",
                                "void",
                                "mark_uncollectible"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "tax_percent"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "plan"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                      },
                      "label": "Plan"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "interval_count",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                            }
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "product"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tiers"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "PlanTier"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "flat_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "unit_amount_decimal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "up_to"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "unit_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "flat_amount_decimal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "livemode",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "created",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount_decimal"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "transform_usage"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "TransformUsage"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "round",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "up",
                                      "down"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "divide_by",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "active",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "aggregate_usage"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "last_during_period",
                                "max",
                                "sum",
                                "last_ever"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "billing_scheme",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "per_unit",
                                "tiered"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_period_days"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "tiers_mode"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "volume",
                                "graduated"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "usage_type",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "licensed",
                                "metered"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "nickname"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "currency",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "interval",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "week",
                                "month",
                                "year",
                                "day"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "id",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "plan"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "current_period_start",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "start_date",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_tax_rates"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "description": {
                          "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                        },
                        "label": "TaxRate"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "metadata",
                            "required": "true"
                          },
                          "model": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                              }
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": []
                          }
                        },
                        {
                          "key": {
                            "name": "livemode",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "created",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "jurisdiction"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "percentage",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number"
                          }
                        },
                        {
                          "key": {
                            "name": "active",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "description"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "id",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "display_name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "object",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "tax_rate"
                                ]
                              }
                            }
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "latest_invoice"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "quantity"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_source"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_payment_method"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "trial_end"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "current_period_end",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "pending_invoice_item_interval"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "SubscriptionPendingInvoiceItemInterval"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "interval_count",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "interval",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "week",
                                "month",
                                "year",
                                "day"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "billing_cycle_anchor",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "schedule"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "collection_method"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "send_invoice",
                          "charge_automatically"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "trial_start"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "billing_thresholds"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "SubscriptionBillingThresholds"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "reset_billing_cycle_anchor"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "amount_gte"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "next_pending_invoice_item_invoice"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "items",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "List of subscription items, each with an attached plan."
                      },
                      "label": "SubscriptionItemList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                              },
                              "label": "SubscriptionItem"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionItemBillingThresholds"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "usage_gte"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "subscription_item"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "ended_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "cancel_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "subscription"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "status",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "canceled",
                          "incomplete",
                          "active",
                          "trialing",
                          "past_due",
                          "unpaid",
                          "incomplete_expired"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "DELETE_V1_SUBSCRIPTIONS_BY_SUBSCRIPTION_EXPOSED_ID",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "subscriptionExposedId",
                  "displayModel": {
                    "displayName": "Subscription exposed id"
                  },
                  "description": "Subscription exposed id",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": {
                      "id": "application/x-www-form-urlencoded",
                      "label": "application/x-www-form-urlencoded",
                      "validMimeTypes": [
                        "application/x-www-form-urlencoded"
                      ]
                    },
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.io.InputStream",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.io.Closeable"
                        ],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      }
                    },
                    "open": {
                      "format": "json",
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "expand"
                        },
                        "model": {
                          "format": "json",
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Specifies which fields in the response should be expanded."
                            }
                          },
                          "item": {
                            "type": "String"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "invoice_now"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "prorate"
                        },
                        "model": {
                          "format": "json",
                          "type": "Boolean"
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[payload]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "deleteV1SubscriptionsBySubscriptionExposedIdContent",
                  "description": "the content to use",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "deleteV1SubscriptionsBySubscriptionExposedId",
          "displayModel": {
            "displayName": "Cancel subscription",
            "summary": "Cancels a customerâs subscription immediately. The customer will not be charged again for the subscription."
          },
          "description": "Cancels a customerâs subscription immediately. The customer will not be charged again for the subscription. Note, however, that any pending invoice items that youâve created will still be charged for at the end of the period, unless manually deleted. If youâve set the subscription to cancel at the end of the period, any pending prorations will also be left in place and collected at the end of the period. But if the subscription is set to cancel immediately, pending prorations will be removed. By default, upon subscription cancellation, Stripe will stop automatic collection of all finalized invoices for the customer. This is intended to prevent unexpected payment attempts after the customer has canceled a subscription. However, you can resume automatic collection of the invoices manually after subscription cancellation to have us proceed. Or, you could check for unpaid invoices before allowing the customer to cancel the subscription at all. This operation makes an HTTP DELETE request to the /v1/subscriptions/{subscription_exposed_id} endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Charge",
                "description": {
                  "value": "To charge a credit or a debit card, you create a `Charge` object. You can\nretrieve and refund individual charges as well as list all charges. Charges\nare identified by a unique, random ID.\n\nRelated guide: [Accept a payment with the Charges API](https://stripe.com/docs/payments/accept-a-payment-charges)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "balance_transaction"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "billing_details",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "billing_details"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "Address"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "city"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "state"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "postal_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line2"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line1"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "email"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "failure_message"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "fraud_details"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "ChargeFraudDetails"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "stripe_report"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "user_report"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "amount_refunded",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "refunds",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A list of refunds that have been applied to the charge."
                      },
                      "label": "RefundList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "`Refund` objects allow you to refund a charge that has previously been created\nbut not yet refunded. Funds will be refunded to the credit or debit card that\nwas originally charged.\n\nRelated guide: [Refunds](https://stripe.com/docs/refunds)."
                              },
                              "label": "Refund"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "balance_transaction"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "reason"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "amount",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "charge"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "description"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "failure_reason"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "source_transfer_reversal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "failure_balance_transaction"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "receipt_number"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "transfer_reversal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "currency",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "payment_intent"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "refund"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "status"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "statement_descriptor"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "transfer_data"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "ChargeTransferData"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "amount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "destination",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "receipt_url"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "shipping"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Shipping"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "carrier"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "Address"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "city"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "state"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "postal_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line2"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line1"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tracking_number"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "review"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "captured",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "calculated_statement_descriptor"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "currency",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "refunded",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "outcome"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "ChargeOutcome"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "reason"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "risk_level"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "risk_score"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "rule"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "seller_message"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "network_status"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "type",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "payment_method"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "order"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "disputed",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "failure_code"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "transfer_group"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "on_behalf_of"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "payment_method_details"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "payment_method_details"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "giropay"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_giropay"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "bank_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bank_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "verified_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bic"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "alipay"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_alipay"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "ideal"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_ideal"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "bank"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "asn_bank",
                                      "ing",
                                      "triodos_bank",
                                      "moneyou",
                                      "abn_amro",
                                      "van_lanschot",
                                      "handelsbanken",
                                      "knab",
                                      "bunq",
                                      "sns_bank",
                                      "rabobank",
                                      "regiobank"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "iban_last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "verified_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bic"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "FVLBNL22",
                                      "INGBNL2A",
                                      "SNSBNL2A",
                                      "RABONL2U",
                                      "BUNQNL2A",
                                      "ASNBNL21",
                                      "RBRBNL21",
                                      "TRIONL2U",
                                      "MOYONL21",
                                      "KNABNL2H",
                                      "HANDNL2A",
                                      "ABNANL2A"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "ach_debit"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_ach_debit"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "account_holder_type"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "individual",
                                      "company"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "bank_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "fingerprint"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "routing_number"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "wechat"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_wechat"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "eps"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_eps"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "verified_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "type",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "card_present"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_card_present"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "read_method"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "funding"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "exp_month"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "exp_year"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "generated_card"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "cardholder_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "network"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "fingerprint"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "receipt"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "label": "payment_method_details_card_present_receipt"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "application_preferred_name"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "cardholder_verification_method"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "authorization_code"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "terminal_verification_results"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "application_cryptogram"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "transaction_status_information"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "authorization_response_code"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "dedicated_file_name"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "key": {
                                "name": "emv_auth_data"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "brand"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "sofort"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_sofort"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "bank_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bank_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "iban_last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "verified_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bic"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "fpx"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_fpx"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "transaction_id"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bank",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "deutsche_bank",
                                      "hong_leong_bank",
                                      "public_bank",
                                      "ocbc",
                                      "alliance_bank",
                                      "maybank2u",
                                      "affin_bank",
                                      "uob",
                                      "bank_islam",
                                      "kfh",
                                      "rhb",
                                      "bank_muamalat",
                                      "bank_rakyat",
                                      "cimb",
                                      "pb_enterprise",
                                      "maybank2e",
                                      "standard_chartered",
                                      "ambank",
                                      "bsn",
                                      "hsbc"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "bancontact"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_bancontact"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "bank_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bank_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "iban_last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "verified_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bic"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "preferred_language"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "de",
                                      "en",
                                      "fr",
                                      "nl"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "klarna"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_klarna"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "p24"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_p24"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "reference"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "verified_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "au_becs_debit"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_au_becs_debit"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "bsb_number"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "mandate"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "fingerprint"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "stripe_account"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_stripe_account"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "sepa_debit"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_sepa_debit"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "branch_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bank_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "mandate"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "fingerprint"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "ach_credit_transfer"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_ach_credit_transfer"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "account_number"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "swift_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "bank_name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "routing_number"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "card"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_card"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "last4"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "funding"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "checks"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "label": "payment_method_details_card_checks"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "cvc_check"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "address_line1_check"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "address_postal_code_check"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "key": {
                                "name": "wallet"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "label": "payment_method_details_card_wallet"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "apple_pay"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_wallet_apple_pay"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": []
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "masterpass"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_wallet_masterpass"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": [
                                        {
                                          "key": {
                                            "name": "name"
                                          },
                                          "model": {
                                            "type": "String"
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "billing_address"
                                          },
                                          "model": {
                                            "type": "Object",
                                            "annotations": {
                                              "label": "Address"
                                            },
                                            "open": {
                                              "type": "Any"
                                            },
                                            "fields": [
                                              {
                                                "key": {
                                                  "name": "country"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "city"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "state"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "postal_code"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line2"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line1"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "shipping_address"
                                          },
                                          "model": {
                                            "type": "Object",
                                            "annotations": {
                                              "label": "Address"
                                            },
                                            "open": {
                                              "type": "Any"
                                            },
                                            "fields": [
                                              {
                                                "key": {
                                                  "name": "country"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "city"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "state"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "postal_code"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line2"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line1"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "email"
                                          },
                                          "model": {
                                            "type": "String"
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "samsung_pay"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_wallet_samsung_pay"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": []
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "google_pay"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_wallet_google_pay"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": []
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "visa_checkout"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_wallet_visa_checkout"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": [
                                        {
                                          "key": {
                                            "name": "name"
                                          },
                                          "model": {
                                            "type": "String"
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "billing_address"
                                          },
                                          "model": {
                                            "type": "Object",
                                            "annotations": {
                                              "label": "Address"
                                            },
                                            "open": {
                                              "type": "Any"
                                            },
                                            "fields": [
                                              {
                                                "key": {
                                                  "name": "country"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "city"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "state"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "postal_code"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line2"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line1"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "shipping_address"
                                          },
                                          "model": {
                                            "type": "Object",
                                            "annotations": {
                                              "label": "Address"
                                            },
                                            "open": {
                                              "type": "Any"
                                            },
                                            "fields": [
                                              {
                                                "key": {
                                                  "name": "country"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "city"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "state"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "postal_code"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line2"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              },
                                              {
                                                "key": {
                                                  "name": "line1"
                                                },
                                                "model": {
                                                  "type": "String"
                                                }
                                              }
                                            ]
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "email"
                                          },
                                          "model": {
                                            "type": "String"
                                          }
                                        }
                                      ]
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "amex_express_checkout"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_wallet_amex_express_checkout"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": []
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "dynamic_last4"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "type",
                                      "required": "true"
                                    },
                                    "model": {
                                      "type": "String",
                                      "annotations": {
                                        "enum": {
                                          "type": "[Ljava.lang.String;",
                                          "values": [
                                            "apple_pay",
                                            "masterpass",
                                            "samsung_pay",
                                            "google_pay",
                                            "visa_checkout",
                                            "amex_express_checkout"
                                          ]
                                        }
                                      }
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "key": {
                                "name": "installments"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "label": "payment_method_details_card_installments"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "plan"
                                    },
                                    "model": {
                                      "type": "Object",
                                      "annotations": {
                                        "label": "payment_method_details_card_installments_plan"
                                      },
                                      "open": {
                                        "type": "Any"
                                      },
                                      "fields": [
                                        {
                                          "key": {
                                            "name": "count"
                                          },
                                          "model": {
                                            "type": "Number",
                                            "annotations": {
                                              "int": {}
                                            }
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "interval"
                                          },
                                          "model": {
                                            "type": "String",
                                            "annotations": {
                                              "enum": {
                                                "type": "[Ljava.lang.String;",
                                                "values": [
                                                  "month"
                                                ]
                                              }
                                            }
                                          }
                                        },
                                        {
                                          "key": {
                                            "name": "type",
                                            "required": "true"
                                          },
                                          "model": {
                                            "type": "String",
                                            "annotations": {
                                              "enum": {
                                                "type": "[Ljava.lang.String;",
                                                "values": [
                                                  "fixed_count"
                                                ]
                                              }
                                            }
                                          }
                                        }
                                      ]
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "key": {
                                "name": "fingerprint"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "exp_month"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "exp_year"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "three_d_secure"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "label": "three_d_secure_details"
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": [
                                  {
                                    "key": {
                                      "name": "authenticated"
                                    },
                                    "model": {
                                      "type": "Boolean"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "version",
                                      "required": "true"
                                    },
                                    "model": {
                                      "type": "String"
                                    }
                                  },
                                  {
                                    "key": {
                                      "name": "succeeded"
                                    },
                                    "model": {
                                      "type": "Boolean"
                                    }
                                  }
                                ]
                              }
                            },
                            {
                              "key": {
                                "name": "brand"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "network"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "multibanco"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "payment_method_details_multibanco"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "reference"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "entity"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "source_transfer"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "receipt_number"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "transfer"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "application"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "receipt_email"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "paid",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "application_fee"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "payment_intent"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "invoice"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "statement_descriptor_suffix"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "application_fee_amount"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "charge"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "status",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "GET_V1_CHARGES_BY_CHARGE",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "charge",
                  "displayModel": {
                    "displayName": "charge"
                  },
                  "description": "charge",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "expands",
                  "displayModel": {
                    "displayName": "expand",
                    "summary": "Specifies which fields in the response should be expanded."
                  },
                  "description": "Specifies which fields in the response should be expanded.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[null]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getV1ChargesByCharge",
          "displayModel": {
            "displayName": "Find Charge",
            "summary": "Retrieves the details of a charge that has previously been created."
          },
          "description": "Retrieves the details of a charge that has previously been created. Supply the unique charge ID that was returned from your previous request, and Stripe will return the corresponding charge information. The same information is returned when creating or refunding the charge. This operation makes an HTTP GET request to the /v1/charges/{charge} endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Customer",
                "description": {
                  "value": "`Customer` objects allow you to perform recurring charges, and to track\nmultiple charges, that are associated with the same customer. The API allows\nyou to create, delete, and update your customers. You can retrieve individual\ncustomers as well as a list of all your customers.\n\nRelated guide: [Saving Cards with Customers](https://stripe.com/docs/saving-cards)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "invoice_settings"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "InvoiceSettingCustomerSetting"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "footer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "custom_fields"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Default custom fields to be displayed on invoices for this customer."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "InvoiceSettingCustomField"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "name",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "value",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "default_payment_method"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "metadata"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "subscriptions"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s current subscriptions, if any."
                      },
                      "label": "SubscriptionList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Subscriptions allow you to charge a customer on a recurring basis.\n\nRelated guide: [Creating Subscriptions](https://stripe.com/docs/billing/subscriptions/creating)."
                              },
                              "label": "Subscription"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "cancel_at_period_end",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "pending_setup_intent"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "pending_update"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Pending Updates store the changes pending from a previous update that will be applied\nto the Subscription upon successful payment."
                                    },
                                    "label": "SubscriptionsResourcePendingUpdate"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "subscription_items"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "List of subscription items, each with an attached plan, that will be set if the update is applied."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                                            },
                                            "label": "SubscriptionItem"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "metadata",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "description": {
                                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                  }
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": []
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "quantity"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "created",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "billing_thresholds"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "label": "SubscriptionItemBillingThresholds"
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": [
                                                  {
                                                    "key": {
                                                      "name": "usage_gte"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "id",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "subscription",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "plan",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "description": {
                                                    "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                                  },
                                                  "label": "Plan"
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": [
                                                  {
                                                    "key": {
                                                      "name": "interval_count",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "amount"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "metadata",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Object",
                                                      "annotations": {
                                                        "description": {
                                                          "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                        }
                                                      },
                                                      "open": {
                                                        "type": "Any"
                                                      },
                                                      "fields": []
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "product"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "tiers"
                                                    },
                                                    "model": {
                                                      "type": "Array",
                                                      "annotations": {
                                                        "description": {
                                                          "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                                        }
                                                      },
                                                      "item": {
                                                        "type": "Object",
                                                        "annotations": {
                                                          "label": "PlanTier"
                                                        },
                                                        "open": {
                                                          "type": "Any"
                                                        },
                                                        "fields": [
                                                          {
                                                            "key": {
                                                              "name": "flat_amount"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "unit_amount_decimal"
                                                            },
                                                            "model": {
                                                              "type": "String"
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "up_to"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "unit_amount"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "flat_amount_decimal"
                                                            },
                                                            "model": {
                                                              "type": "String"
                                                            }
                                                          }
                                                        ]
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "livemode",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Boolean"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "created",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "amount_decimal"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "transform_usage"
                                                    },
                                                    "model": {
                                                      "type": "Object",
                                                      "annotations": {
                                                        "label": "TransformUsage"
                                                      },
                                                      "open": {
                                                        "type": "Any"
                                                      },
                                                      "fields": [
                                                        {
                                                          "key": {
                                                            "name": "round",
                                                            "required": "true"
                                                          },
                                                          "model": {
                                                            "type": "String",
                                                            "annotations": {
                                                              "enum": {
                                                                "type": "[Ljava.lang.String;",
                                                                "values": [
                                                                  "up",
                                                                  "down"
                                                                ]
                                                              }
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "key": {
                                                            "name": "divide_by",
                                                            "required": "true"
                                                          },
                                                          "model": {
                                                            "type": "Number",
                                                            "annotations": {
                                                              "int": {}
                                                            }
                                                          }
                                                        }
                                                      ]
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "active",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Boolean"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "aggregate_usage"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "last_during_period",
                                                            "max",
                                                            "sum",
                                                            "last_ever"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "billing_scheme",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "per_unit",
                                                            "tiered"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "trial_period_days"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "tiers_mode"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "volume",
                                                            "graduated"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "usage_type",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "licensed",
                                                            "metered"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "nickname"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "currency",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "interval",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "week",
                                                            "month",
                                                            "year",
                                                            "day"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "id",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "object",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "plan"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "object",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String",
                                                "annotations": {
                                                  "enum": {
                                                    "type": "[Ljava.lang.String;",
                                                    "values": [
                                                      "subscription_item"
                                                    ]
                                                  }
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "tax_rates"
                                              },
                                              "model": {
                                                "type": "Array",
                                                "annotations": {
                                                  "description": {
                                                    "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                                  }
                                                },
                                                "item": {
                                                  "type": "Object",
                                                  "annotations": {
                                                    "description": {
                                                      "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                                    },
                                                    "label": "TaxRate"
                                                  },
                                                  "open": {
                                                    "type": "Any"
                                                  },
                                                  "fields": [
                                                    {
                                                      "key": {
                                                        "name": "inclusive",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "metadata",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Object",
                                                        "annotations": {
                                                          "description": {
                                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                          }
                                                        },
                                                        "open": {
                                                          "type": "Any"
                                                        },
                                                        "fields": []
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "livemode",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "created",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Number",
                                                        "annotations": {
                                                          "int": {}
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "jurisdiction"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "percentage",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Number"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "active",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "description"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "id",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "display_name",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "object",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String",
                                                        "annotations": {
                                                          "enum": {
                                                            "type": "[Ljava.lang.String;",
                                                            "values": [
                                                              "tax_rate"
                                                            ]
                                                          }
                                                        }
                                                      }
                                                    }
                                                  ]
                                                }
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_from_plan"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "expires_at",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_end"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_cycle_anchor"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "canceled_at"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "days_until_due"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "discount"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                                    },
                                    "label": "Discount"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "coupon",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                                          },
                                          "label": "Coupon"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "redeem_by"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "metadata",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Object",
                                              "annotations": {
                                                "description": {
                                                  "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                }
                                              },
                                              "open": {
                                                "type": "Any"
                                              },
                                              "fields": []
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "livemode",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Boolean"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "created",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "max_redemptions"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "times_redeemed",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "duration",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "once",
                                                    "repeating",
                                                    "forever"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "valid",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Boolean"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "duration_in_months"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "name"
                                            },
                                            "model": {
                                              "type": "String"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "currency"
                                            },
                                            "model": {
                                              "type": "String"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "percent_off"
                                            },
                                            "model": {
                                              "type": "Number"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "id",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String"
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "amount_off"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "object",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "coupon"
                                                  ]
                                                }
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "start",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "end"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "subscription"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "customer"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "discount"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "application_fee_percent"
                                },
                                "model": {
                                  "type": "Number"
                                }
                              },
                              {
                                "key": {
                                  "name": "pause_collection"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "The Pause Collection settings determine how we will pause collection for this subscription and for how long the subscription\nshould be paused."
                                    },
                                    "label": "SubscriptionsResourcePauseCollection"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "resumes_at"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "behavior",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "keep_as_draft",
                                              "void",
                                              "mark_uncollectible"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_percent"
                                },
                                "model": {
                                  "type": "Number"
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "current_period_start",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "start_date",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "default_tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "latest_invoice"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "default_source"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "default_payment_method"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "trial_end"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "current_period_end",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "pending_invoice_item_interval"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionPendingInvoiceItemInterval"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_cycle_anchor",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "schedule"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "collection_method"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "send_invoice",
                                        "charge_automatically"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "trial_start"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionBillingThresholds"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "reset_billing_cycle_anchor"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_gte"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "next_pending_invoice_item_invoice"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "items",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "List of subscription items, each with an attached plan."
                                    },
                                    "label": "SubscriptionItemList"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "data",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Details about each object."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                                            },
                                            "label": "SubscriptionItem"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "metadata",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "description": {
                                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                  }
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": []
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "quantity"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "created",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "billing_thresholds"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "label": "SubscriptionItemBillingThresholds"
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": [
                                                  {
                                                    "key": {
                                                      "name": "usage_gte"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "id",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "subscription",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "plan",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "Object",
                                                "annotations": {
                                                  "description": {
                                                    "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                                  },
                                                  "label": "Plan"
                                                },
                                                "open": {
                                                  "type": "Any"
                                                },
                                                "fields": [
                                                  {
                                                    "key": {
                                                      "name": "interval_count",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "amount"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "metadata",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Object",
                                                      "annotations": {
                                                        "description": {
                                                          "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                        }
                                                      },
                                                      "open": {
                                                        "type": "Any"
                                                      },
                                                      "fields": []
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "product"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "tiers"
                                                    },
                                                    "model": {
                                                      "type": "Array",
                                                      "annotations": {
                                                        "description": {
                                                          "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                                        }
                                                      },
                                                      "item": {
                                                        "type": "Object",
                                                        "annotations": {
                                                          "label": "PlanTier"
                                                        },
                                                        "open": {
                                                          "type": "Any"
                                                        },
                                                        "fields": [
                                                          {
                                                            "key": {
                                                              "name": "flat_amount"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "unit_amount_decimal"
                                                            },
                                                            "model": {
                                                              "type": "String"
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "up_to"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "unit_amount"
                                                            },
                                                            "model": {
                                                              "type": "Number",
                                                              "annotations": {
                                                                "int": {}
                                                              }
                                                            }
                                                          },
                                                          {
                                                            "key": {
                                                              "name": "flat_amount_decimal"
                                                            },
                                                            "model": {
                                                              "type": "String"
                                                            }
                                                          }
                                                        ]
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "livemode",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Boolean"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "created",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "amount_decimal"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "transform_usage"
                                                    },
                                                    "model": {
                                                      "type": "Object",
                                                      "annotations": {
                                                        "label": "TransformUsage"
                                                      },
                                                      "open": {
                                                        "type": "Any"
                                                      },
                                                      "fields": [
                                                        {
                                                          "key": {
                                                            "name": "round",
                                                            "required": "true"
                                                          },
                                                          "model": {
                                                            "type": "String",
                                                            "annotations": {
                                                              "enum": {
                                                                "type": "[Ljava.lang.String;",
                                                                "values": [
                                                                  "up",
                                                                  "down"
                                                                ]
                                                              }
                                                            }
                                                          }
                                                        },
                                                        {
                                                          "key": {
                                                            "name": "divide_by",
                                                            "required": "true"
                                                          },
                                                          "model": {
                                                            "type": "Number",
                                                            "annotations": {
                                                              "int": {}
                                                            }
                                                          }
                                                        }
                                                      ]
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "active",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "Boolean"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "aggregate_usage"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "last_during_period",
                                                            "max",
                                                            "sum",
                                                            "last_ever"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "billing_scheme",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "per_unit",
                                                            "tiered"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "trial_period_days"
                                                    },
                                                    "model": {
                                                      "type": "Number",
                                                      "annotations": {
                                                        "int": {}
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "tiers_mode"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "volume",
                                                            "graduated"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "usage_type",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "licensed",
                                                            "metered"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "nickname"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "currency",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "interval",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "week",
                                                            "month",
                                                            "year",
                                                            "day"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "id",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String"
                                                    }
                                                  },
                                                  {
                                                    "key": {
                                                      "name": "object",
                                                      "required": "true"
                                                    },
                                                    "model": {
                                                      "type": "String",
                                                      "annotations": {
                                                        "enum": {
                                                          "type": "[Ljava.lang.String;",
                                                          "values": [
                                                            "plan"
                                                          ]
                                                        }
                                                      }
                                                    }
                                                  }
                                                ]
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "object",
                                                "required": "true"
                                              },
                                              "model": {
                                                "type": "String",
                                                "annotations": {
                                                  "enum": {
                                                    "type": "[Ljava.lang.String;",
                                                    "values": [
                                                      "subscription_item"
                                                    ]
                                                  }
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "tax_rates"
                                              },
                                              "model": {
                                                "type": "Array",
                                                "annotations": {
                                                  "description": {
                                                    "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                                  }
                                                },
                                                "item": {
                                                  "type": "Object",
                                                  "annotations": {
                                                    "description": {
                                                      "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                                    },
                                                    "label": "TaxRate"
                                                  },
                                                  "open": {
                                                    "type": "Any"
                                                  },
                                                  "fields": [
                                                    {
                                                      "key": {
                                                        "name": "inclusive",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "metadata",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Object",
                                                        "annotations": {
                                                          "description": {
                                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                                          }
                                                        },
                                                        "open": {
                                                          "type": "Any"
                                                        },
                                                        "fields": []
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "livemode",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "created",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Number",
                                                        "annotations": {
                                                          "int": {}
                                                        }
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "jurisdiction"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "percentage",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Number"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "active",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "Boolean"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "description"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "id",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "display_name",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String"
                                                      }
                                                    },
                                                    {
                                                      "key": {
                                                        "name": "object",
                                                        "required": "true"
                                                      },
                                                      "model": {
                                                        "type": "String",
                                                        "annotations": {
                                                          "enum": {
                                                            "type": "[Ljava.lang.String;",
                                                            "values": [
                                                              "tax_rate"
                                                            ]
                                                          }
                                                        }
                                                      }
                                                    }
                                                  ]
                                                }
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "has_more",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "url",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "list"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "ended_at"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "cancel_at"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "customer",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "subscription"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "status",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "canceled",
                                        "incomplete",
                                        "active",
                                        "trialing",
                                        "past_due",
                                        "unpaid",
                                        "incomplete_expired"
                                      ]
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "address"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Address"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "country"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "city"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "state"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "postal_code"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line2"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line1"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "sources",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s payment sources, if any."
                      },
                      "label": "ApmsSourcesSourceList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "AlipayAccount"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "fingerprint",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "payment_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "used",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "customer"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "alipay_account"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "payment_currency"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "reusable",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "username",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "tax_ids"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s tax IDs."
                      },
                      "label": "TaxIDsList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "You can add one or multiple tax IDs to a [customer](https://stripe.com/docs/api/customers).\nA customer\u0027s tax IDs are displayed on invoices and credit notes issued for the customer.\n\nRelated guide: [Customer Tax Identification Numbers](https://stripe.com/docs/billing/taxes/tax-ids)."
                              },
                              "label": "tax_id"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "country"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "type",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "au_abn",
                                        "tw_vat",
                                        "us_ein",
                                        "ca_qst",
                                        "my_itn",
                                        "th_vat",
                                        "ru_inn",
                                        "sg_gst",
                                        "in_gst",
                                        "nz_gst",
                                        "jp_cn",
                                        "kr_brn",
                                        "unknown",
                                        "mx_rfc",
                                        "no_vat",
                                        "my_sst",
                                        "ch_vat",
                                        "za_vat",
                                        "sg_uen",
                                        "hk_br",
                                        "ca_bn",
                                        "eu_vat",
                                        "li_uid",
                                        "es_cif"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "value",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "verification",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "tax_id_verification"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "verified_name"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "verified_address"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "status",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "unavailable",
                                              "pending",
                                              "verified",
                                              "unverified"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "customer",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "tax_id"
                                      ]
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "default_source"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "invoice_prefix"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "tax_exempt"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "exempt",
                          "none",
                          "reverse"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "next_invoice_sequence"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "discount"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                      },
                      "label": "Discount"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "coupon",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                            },
                            "label": "Coupon"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "redeem_by"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "metadata",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "description": {
                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                  }
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": []
                              }
                            },
                            {
                              "key": {
                                "name": "livemode",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "created",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "max_redemptions"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "times_redeemed",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "duration",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "once",
                                      "repeating",
                                      "forever"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "valid",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "duration_in_months"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "currency"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "percent_off"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "id",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "amount_off"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "object",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "coupon"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "start",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "discount"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "preferred_locales"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s preferred locales (languages), ordered by preference."
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  }
                },
                {
                  "key": {
                    "name": "balance"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "shipping"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Shipping"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "carrier"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "Address"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "city"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "state"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "postal_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line2"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line1"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tracking_number"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "phone"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "delinquent"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "name"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "currency"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "email"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "customer"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "GET_V1_CUSTOMERS_BY_CUSTOMER",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "customer",
                  "displayModel": {
                    "displayName": "customer"
                  },
                  "description": "customer",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "expands",
                  "displayModel": {
                    "displayName": "expand",
                    "summary": "Specifies which fields in the response should be expanded."
                  },
                  "description": "Specifies which fields in the response should be expanded.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[null]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getV1CustomersByCustomer",
          "displayModel": {
            "displayName": "Find Customer",
            "summary": "Retrieves the details of an existing customer."
          },
          "description": "Retrieves the details of an existing customer. You need only supply the unique customer identifier that was returned upon customer creation. This operation makes an HTTP GET request to the /v1/customers/{customer} endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Invoice",
                "description": {
                  "value": "Invoices are statements of amounts owed by a customer, and are either\ngenerated one-off, or generated periodically from a subscription.\n\nThey contain [invoice items](https://stripe.com/docs/api#invoiceitems), and proration adjustments\nthat may be caused by subscription upgrades/downgrades (if necessary).\n\nIf your invoice is configured to be billed through automatic charges,\nStripe automatically finalizes your invoice and attempts payment. Note\nthat finalizing the invoice,\n[when automatic](https://stripe.com/docs/billing/invoices/workflow/#auto_advance), does\nnot happen immediately as the invoice is created. Stripe waits\nuntil one hour after the last webhook was successfully sent (or the last\nwebhook timed out after failing). If you (and the platforms you may have\nconnected to) have no webhooks configured, Stripe waits one hour after\ncreation to finalize the invoice.\n\nIf your invoice is configured to be billed by sending an email, then based on your\n[email settings](https://dashboard.stripe.com/account/billing/automatic\u0027),\nStripe will email the invoice to your customer and await payment. These\nemails can contain a link to a hosted page to pay the invoice.\n\nStripe applies any customer credit on the account before determining the\namount due for the invoice (i.e., the amount that will be actually\ncharged). If the amount due for the invoice is less than Stripe\u0027s [minimum allowed charge\nper currency](/docs/currencies#minimum-and-maximum-charge-amounts), the\ninvoice is automatically marked paid, and we add the amount due to the\ncustomer\u0027s running account balance which is applied to the next invoice.\n\nMore details on the customer\u0027s account balance are\n[here](https://stripe.com/docs/api/customers/object#customer_object-account_balance).\n\nRelated guide: [Send Invoices to Customers](https://stripe.com/docs/billing/invoices/sending)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "amount_paid",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "amount_remaining",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_shipping"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Shipping"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "carrier"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "address"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "Address"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "country"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "city"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "state"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "postal_code"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line2"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "line1"
                              },
                              "model": {
                                "type": "String"
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "phone"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "name"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tracking_number"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "metadata"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "total_tax_amounts"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The aggregate amounts calculated per tax rate for all line items."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "InvoiceTaxAmount"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "amount",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "tax_rate",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "discount"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                      },
                      "label": "Discount"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "coupon",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                            },
                            "label": "Coupon"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "redeem_by"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "metadata",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "description": {
                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                  }
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": []
                              }
                            },
                            {
                              "key": {
                                "name": "livemode",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "created",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "max_redemptions"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "times_redeemed",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "duration",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "once",
                                      "repeating",
                                      "forever"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "valid",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "duration_in_months"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "currency"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "percent_off"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "id",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "amount_off"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "object",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "coupon"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "start",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "discount"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "statement_descriptor"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "number"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "tax_percent"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "auto_advance"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "period_start",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "amount_due",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "id"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "customer_address"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "Address"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "country"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "city"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "state"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "postal_code"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line2"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "line1"
                        },
                        "model": {
                          "type": "String"
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "custom_fields"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "Custom fields displayed on the invoice."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "InvoiceSettingCustomField"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "value",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_phone"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "ending_balance"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "tax"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "period_end",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "webhooks_delivered_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "subtotal",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_email"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "payment_intent"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "next_payment_attempt"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "application_fee_amount"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "invoice"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "status"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "deleted",
                          "void",
                          "uncollectible",
                          "draft",
                          "paid",
                          "open"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "invoice_pdf"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "footer"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "description"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "subscription"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "starting_balance",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "threshold_reason"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "InvoiceThresholdReason"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "item_reasons",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Indicates which line items triggered a threshold invoice."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "InvoiceItemThresholdReason"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "usage_gte",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "line_item_ids",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The IDs of the line items that triggered the threshold invoice."
                                    }
                                  },
                                  "item": {
                                    "type": "String"
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount_gte"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "total",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "pre_payment_credit_notes_amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "account_name"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "currency",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "account_country"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "lines",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The individual line items that make up the invoice. `lines` is sorted as follows: invoice items in reverse chronological order, followed by the subscription, if any."
                      },
                      "label": "InvoiceLinesList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "InvoiceLineItem"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "amount",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format. Note that for line items with `type\u003dsubscription` this will reflect the metadata of the subscription that caused the line item to be created."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "period",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "InvoiceLineItemPeriod"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "start",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "end",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "livemode",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "description"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "type",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "invoiceitem",
                                        "subscription"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "proration",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_amounts"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The amount of tax calculated per tax rate for this line item"
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "label": "InvoiceTaxAmount"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "amount",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "tax_rate",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates which apply to the line item."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "invoice_item"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription_item"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "currency",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "discountable",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Boolean"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "line_item"
                                      ]
                                    }
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "subscription_proration_date"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "attempt_count",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_tax_rates"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The tax rates applied to this invoice, if any."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "description": {
                          "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                        },
                        "label": "TaxRate"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "metadata",
                            "required": "true"
                          },
                          "model": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                              }
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": []
                          }
                        },
                        {
                          "key": {
                            "name": "livemode",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "created",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "jurisdiction"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "percentage",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number"
                          }
                        },
                        {
                          "key": {
                            "name": "active",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "description"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "id",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "display_name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "object",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "tax_rate"
                                ]
                              }
                            }
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "charge"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "default_source"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "post_payment_credit_notes_amount",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_payment_method"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "due_date"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "billing_reason"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "subscription_create",
                          "automatic_pending_invoice_item_invoice",
                          "subscription_cycle",
                          "subscription",
                          "manual",
                          "subscription_update",
                          "upcoming",
                          "subscription_threshold"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "receipt_number"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "collection_method"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "send_invoice",
                          "charge_automatically"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer_tax_ids"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The customer\u0027s tax IDs. Until the invoice is finalized, this field will contain the same tax IDs as `customer.tax_ids`. Once the invoice is finalized, this field will no longer be updated."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "label": "InvoicesResourceInvoiceTaxID"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "type",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "au_abn",
                                  "tw_vat",
                                  "us_ein",
                                  "ca_qst",
                                  "my_itn",
                                  "th_vat",
                                  "ru_inn",
                                  "sg_gst",
                                  "in_gst",
                                  "nz_gst",
                                  "jp_cn",
                                  "kr_brn",
                                  "unknown",
                                  "mx_rfc",
                                  "no_vat",
                                  "my_sst",
                                  "ch_vat",
                                  "za_vat",
                                  "sg_uen",
                                  "hk_br",
                                  "ca_bn",
                                  "eu_vat",
                                  "li_uid",
                                  "es_cif"
                                ]
                              }
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "value"
                          },
                          "model": {
                            "type": "String"
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "hosted_invoice_url"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "paid",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "attempted",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "customer_name"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "status_transitions",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "InvoicesStatusTransitions"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "finalized_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "paid_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "voided_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "marked_uncollectible_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "customer",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "customer_tax_exempt"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "exempt",
                          "none",
                          "reverse"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "GET_V1_INVOICES_BY_INVOICE",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "invoice",
                  "displayModel": {
                    "displayName": "invoice"
                  },
                  "description": "invoice",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "expands",
                  "displayModel": {
                    "displayName": "expand",
                    "summary": "Specifies which fields in the response should be expanded."
                  },
                  "description": "Specifies which fields in the response should be expanded.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[null]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getV1InvoicesByInvoice",
          "displayModel": {
            "displayName": "Find Invoice",
            "summary": "Retrieves the invoice with the given ID."
          },
          "description": "Retrieves the invoice with the given ID. This operation makes an HTTP GET request to the /v1/invoices/{invoice} endpoint",
          "modelProperties": {},
          "kind": "operation"
        },
        {
          "blocking": false,
          "executionType": "CPU_LITE",
          "output": {
            "type": {
              "format": "json",
              "type": "Object",
              "annotations": {
                "label": "Subscription",
                "description": {
                  "value": "Subscriptions allow you to charge a customer on a recurring basis.\n\nRelated guide: [Creating Subscriptions](https://stripe.com/docs/billing/subscriptions/creating)."
                },
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              },
              "open": {
                "type": "Any"
              },
              "fields": [
                {
                  "key": {
                    "name": "metadata",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                      }
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": []
                  }
                },
                {
                  "key": {
                    "name": "cancel_at_period_end",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "livemode",
                    "required": "true"
                  },
                  "model": {
                    "type": "Boolean"
                  }
                },
                {
                  "key": {
                    "name": "pending_setup_intent"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "pending_update"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Pending Updates store the changes pending from a previous update that will be applied\nto the Subscription upon successful payment."
                      },
                      "label": "SubscriptionsResourcePendingUpdate"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "subscription_items"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "List of subscription items, each with an attached plan, that will be set if the update is applied."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                              },
                              "label": "SubscriptionItem"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionItemBillingThresholds"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "usage_gte"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "subscription_item"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_from_plan"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "expires_at",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "billing_cycle_anchor"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "canceled_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "days_until_due"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "discount"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "A discount represents the actual application of a coupon to a particular\ncustomer. It contains information about when the discount began and when it\nwill end.\n\nRelated guide: [Applying Discounts to Subscriptions](https://stripe.com/docs/billing/subscriptions/discounts)."
                      },
                      "label": "Discount"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "coupon",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "A coupon contains information about a percent-off or amount-off discount you\nmight want to apply to a customer. Coupons may be applied to [invoices](https://stripe.com/docs/api#invoices) or\n[orders](https://stripe.com/docs/api#create_order-coupon). Coupons do not work with conventional one-off [charges](https://stripe.com/docs/api#create_charge)."
                            },
                            "label": "Coupon"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "redeem_by"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "metadata",
                                "required": "true"
                              },
                              "model": {
                                "type": "Object",
                                "annotations": {
                                  "description": {
                                    "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                  }
                                },
                                "open": {
                                  "type": "Any"
                                },
                                "fields": []
                              }
                            },
                            {
                              "key": {
                                "name": "livemode",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "created",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "max_redemptions"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "times_redeemed",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "duration",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "once",
                                      "repeating",
                                      "forever"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "valid",
                                "required": "true"
                              },
                              "model": {
                                "type": "Boolean"
                              }
                            },
                            {
                              "key": {
                                "name": "duration_in_months"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "name"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "currency"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "percent_off"
                              },
                              "model": {
                                "type": "Number"
                              }
                            },
                            {
                              "key": {
                                "name": "id",
                                "required": "true"
                              },
                              "model": {
                                "type": "String"
                              }
                            },
                            {
                              "key": {
                                "name": "amount_off"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "object",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "coupon"
                                    ]
                                  }
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "start",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "end"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "subscription"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "customer"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "discount"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "application_fee_percent"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "pause_collection"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "The Pause Collection settings determine how we will pause collection for this subscription and for how long the subscription\nshould be paused."
                      },
                      "label": "SubscriptionsResourcePauseCollection"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "resumes_at"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "behavior",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "keep_as_draft",
                                "void",
                                "mark_uncollectible"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "tax_percent"
                  },
                  "model": {
                    "type": "Number"
                  }
                },
                {
                  "key": {
                    "name": "id",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "plan"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                      },
                      "label": "Plan"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "interval_count",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "metadata",
                          "required": "true"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "description": {
                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                            }
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": []
                        }
                      },
                      {
                        "key": {
                          "name": "product"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "tiers"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "label": "PlanTier"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "flat_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "unit_amount_decimal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "up_to"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "unit_amount"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "flat_amount_decimal"
                                },
                                "model": {
                                  "type": "String"
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "livemode",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "created",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "amount_decimal"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "transform_usage"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "label": "TransformUsage"
                          },
                          "open": {
                            "type": "Any"
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "round",
                                "required": "true"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "enum": {
                                    "type": "[Ljava.lang.String;",
                                    "values": [
                                      "up",
                                      "down"
                                    ]
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "divide_by",
                                "required": "true"
                              },
                              "model": {
                                "type": "Number",
                                "annotations": {
                                  "int": {}
                                }
                              }
                            }
                          ]
                        }
                      },
                      {
                        "key": {
                          "name": "active",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "aggregate_usage"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "last_during_period",
                                "max",
                                "sum",
                                "last_ever"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "billing_scheme",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "per_unit",
                                "tiered"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trial_period_days"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "tiers_mode"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "volume",
                                "graduated"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "usage_type",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "licensed",
                                "metered"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "nickname"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "currency",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "interval",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "week",
                                "month",
                                "year",
                                "day"
                              ]
                            }
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "id",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "plan"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "current_period_start",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "start_date",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_tax_rates"
                  },
                  "model": {
                    "type": "Array",
                    "annotations": {
                      "description": {
                        "value": "The tax rates that will apply to any subscription item that does not have `tax_rates` set. Invoices created will have their `default_tax_rates` populated from the subscription."
                      }
                    },
                    "item": {
                      "type": "Object",
                      "annotations": {
                        "description": {
                          "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                        },
                        "label": "TaxRate"
                      },
                      "open": {
                        "type": "Any"
                      },
                      "fields": [
                        {
                          "key": {
                            "name": "inclusive",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "metadata",
                            "required": "true"
                          },
                          "model": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                              }
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": []
                          }
                        },
                        {
                          "key": {
                            "name": "livemode",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "created",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number",
                            "annotations": {
                              "int": {}
                            }
                          }
                        },
                        {
                          "key": {
                            "name": "jurisdiction"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "percentage",
                            "required": "true"
                          },
                          "model": {
                            "type": "Number"
                          }
                        },
                        {
                          "key": {
                            "name": "active",
                            "required": "true"
                          },
                          "model": {
                            "type": "Boolean"
                          }
                        },
                        {
                          "key": {
                            "name": "description"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "id",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "display_name",
                            "required": "true"
                          },
                          "model": {
                            "type": "String"
                          }
                        },
                        {
                          "key": {
                            "name": "object",
                            "required": "true"
                          },
                          "model": {
                            "type": "String",
                            "annotations": {
                              "enum": {
                                "type": "[Ljava.lang.String;",
                                "values": [
                                  "tax_rate"
                                ]
                              }
                            }
                          }
                        }
                      ]
                    }
                  }
                },
                {
                  "key": {
                    "name": "latest_invoice"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "quantity"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_source"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "created",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "default_payment_method"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "trial_end"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "current_period_end",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "pending_invoice_item_interval"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "SubscriptionPendingInvoiceItemInterval"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "interval_count",
                          "required": "true"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "interval",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "week",
                                "month",
                                "year",
                                "day"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "billing_cycle_anchor",
                    "required": "true"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "schedule"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "collection_method"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "send_invoice",
                          "charge_automatically"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "trial_start"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "billing_thresholds"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "label": "SubscriptionBillingThresholds"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "reset_billing_cycle_anchor"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "amount_gte"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {}
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "next_pending_invoice_item_invoice"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "items",
                    "required": "true"
                  },
                  "model": {
                    "type": "Object",
                    "annotations": {
                      "description": {
                        "value": "List of subscription items, each with an attached plan."
                      },
                      "label": "SubscriptionItemList"
                    },
                    "open": {
                      "type": "Any"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "data",
                          "required": "true"
                        },
                        "model": {
                          "type": "Array",
                          "annotations": {
                            "description": {
                              "value": "Details about each object."
                            }
                          },
                          "item": {
                            "type": "Object",
                            "annotations": {
                              "description": {
                                "value": "Subscription items allow you to create customer subscriptions with more than\none plan, making it easy to represent complex billing relationships."
                              },
                              "label": "SubscriptionItem"
                            },
                            "open": {
                              "type": "Any"
                            },
                            "fields": [
                              {
                                "key": {
                                  "name": "metadata",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                    }
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": []
                                }
                              },
                              {
                                "key": {
                                  "name": "quantity"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "created",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Number",
                                  "annotations": {
                                    "int": {}
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "billing_thresholds"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "label": "SubscriptionItemBillingThresholds"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "usage_gte"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "id",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "subscription",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String"
                                }
                              },
                              {
                                "key": {
                                  "name": "plan",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "Object",
                                  "annotations": {
                                    "description": {
                                      "value": "Plans define the base price, currency, and billing cycle for recurring purchases of products.\nProducts help you track inventory or provisioning, and plans help you track pricing. Different physical goods or levels of service should be represented by products, and pricing options should be represented by plans. This approach lets you change prices without having to change your provisioning scheme.\n\nFor example, you might have a single \"gold\" product that has plans for $10/month, $100/year, €9/month, and €90/year.\n\nRelated guides: [Set up a subscription](https://stripe.com/docs/billing/subscriptions/set-up-subscription) and more about [products and plans](https://stripe.com/docs/billing/subscriptions/products-and-plans)."
                                    },
                                    "label": "Plan"
                                  },
                                  "open": {
                                    "type": "Any"
                                  },
                                  "fields": [
                                    {
                                      "key": {
                                        "name": "interval_count",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "metadata",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "description": {
                                            "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                          }
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": []
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "product"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers"
                                      },
                                      "model": {
                                        "type": "Array",
                                        "annotations": {
                                          "description": {
                                            "value": "Each element represents a pricing tier. This parameter requires `billing_scheme` to be set to `tiered`. See also the documentation for `billing_scheme`."
                                          }
                                        },
                                        "item": {
                                          "type": "Object",
                                          "annotations": {
                                            "label": "PlanTier"
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": [
                                            {
                                              "key": {
                                                "name": "flat_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "up_to"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "unit_amount"
                                              },
                                              "model": {
                                                "type": "Number",
                                                "annotations": {
                                                  "int": {}
                                                }
                                              }
                                            },
                                            {
                                              "key": {
                                                "name": "flat_amount_decimal"
                                              },
                                              "model": {
                                                "type": "String"
                                              }
                                            }
                                          ]
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "livemode",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "created",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "amount_decimal"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "transform_usage"
                                      },
                                      "model": {
                                        "type": "Object",
                                        "annotations": {
                                          "label": "TransformUsage"
                                        },
                                        "open": {
                                          "type": "Any"
                                        },
                                        "fields": [
                                          {
                                            "key": {
                                              "name": "round",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "String",
                                              "annotations": {
                                                "enum": {
                                                  "type": "[Ljava.lang.String;",
                                                  "values": [
                                                    "up",
                                                    "down"
                                                  ]
                                                }
                                              }
                                            }
                                          },
                                          {
                                            "key": {
                                              "name": "divide_by",
                                              "required": "true"
                                            },
                                            "model": {
                                              "type": "Number",
                                              "annotations": {
                                                "int": {}
                                              }
                                            }
                                          }
                                        ]
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "active",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "Boolean"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "aggregate_usage"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "last_during_period",
                                              "max",
                                              "sum",
                                              "last_ever"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "billing_scheme",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "per_unit",
                                              "tiered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "trial_period_days"
                                      },
                                      "model": {
                                        "type": "Number",
                                        "annotations": {
                                          "int": {}
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "tiers_mode"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "volume",
                                              "graduated"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "usage_type",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "licensed",
                                              "metered"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "nickname"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "currency",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "interval",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "week",
                                              "month",
                                              "year",
                                              "day"
                                            ]
                                          }
                                        }
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "id",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String"
                                      }
                                    },
                                    {
                                      "key": {
                                        "name": "object",
                                        "required": "true"
                                      },
                                      "model": {
                                        "type": "String",
                                        "annotations": {
                                          "enum": {
                                            "type": "[Ljava.lang.String;",
                                            "values": [
                                              "plan"
                                            ]
                                          }
                                        }
                                      }
                                    }
                                  ]
                                }
                              },
                              {
                                "key": {
                                  "name": "object",
                                  "required": "true"
                                },
                                "model": {
                                  "type": "String",
                                  "annotations": {
                                    "enum": {
                                      "type": "[Ljava.lang.String;",
                                      "values": [
                                        "subscription_item"
                                      ]
                                    }
                                  }
                                }
                              },
                              {
                                "key": {
                                  "name": "tax_rates"
                                },
                                "model": {
                                  "type": "Array",
                                  "annotations": {
                                    "description": {
                                      "value": "The tax rates which apply to this `subscription_item`. When set, the `default_tax_rates` on the subscription do not apply to this `subscription_item`."
                                    }
                                  },
                                  "item": {
                                    "type": "Object",
                                    "annotations": {
                                      "description": {
                                        "value": "Tax rates can be applied to invoices and subscriptions to collect tax.\n\nRelated guide: [Tax Rates](https://stripe.com/docs/billing/taxes/tax-rates)."
                                      },
                                      "label": "TaxRate"
                                    },
                                    "open": {
                                      "type": "Any"
                                    },
                                    "fields": [
                                      {
                                        "key": {
                                          "name": "inclusive",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "metadata",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Object",
                                          "annotations": {
                                            "description": {
                                              "value": "Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format."
                                            }
                                          },
                                          "open": {
                                            "type": "Any"
                                          },
                                          "fields": []
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "livemode",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "created",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number",
                                          "annotations": {
                                            "int": {}
                                          }
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "jurisdiction"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "percentage",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Number"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "active",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "Boolean"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "description"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "id",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "display_name",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String"
                                        }
                                      },
                                      {
                                        "key": {
                                          "name": "object",
                                          "required": "true"
                                        },
                                        "model": {
                                          "type": "String",
                                          "annotations": {
                                            "enum": {
                                              "type": "[Ljava.lang.String;",
                                              "values": [
                                                "tax_rate"
                                              ]
                                            }
                                          }
                                        }
                                      }
                                    ]
                                  }
                                }
                              }
                            ]
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "has_more",
                          "required": "true"
                        },
                        "model": {
                          "type": "Boolean"
                        }
                      },
                      {
                        "key": {
                          "name": "url",
                          "required": "true"
                        },
                        "model": {
                          "type": "String"
                        }
                      },
                      {
                        "key": {
                          "name": "object",
                          "required": "true"
                        },
                        "model": {
                          "type": "String",
                          "annotations": {
                            "enum": {
                              "type": "[Ljava.lang.String;",
                              "values": [
                                "list"
                              ]
                            }
                          }
                        }
                      }
                    ]
                  }
                },
                {
                  "key": {
                    "name": "ended_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "cancel_at"
                  },
                  "model": {
                    "type": "Number",
                    "annotations": {
                      "int": {}
                    }
                  }
                },
                {
                  "key": {
                    "name": "customer",
                    "required": "true"
                  },
                  "model": {
                    "type": "String"
                  }
                },
                {
                  "key": {
                    "name": "object",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "subscription"
                        ]
                      }
                    }
                  }
                },
                {
                  "key": {
                    "name": "status",
                    "required": "true"
                  },
                  "model": {
                    "type": "String",
                    "annotations": {
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "canceled",
                          "incomplete",
                          "active",
                          "trialing",
                          "past_due",
                          "unpaid",
                          "incomplete_expired"
                        ]
                      }
                    }
                  }
                }
              ]
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [
            "STRIPE:NOT_ACCEPTABLE",
            "STRIPE:UNAUTHORIZED",
            "STRIPE:NOT_FOUND",
            "STRIPE:SERVER_ERROR",
            "STRIPE:CONNECTIVITY",
            "STRIPE:BAD_REQUEST",
            "STRIPE:SERVICE_UNAVAILABLE",
            "STRIPE:INTERNAL_SERVER_ERROR",
            "STRIPE:TIMEOUT",
            "STRIPE:CLIENT_ERROR",
            "STRIPE:UNSUPPORTED_MEDIA_TYPE",
            "STRIPE:RETRY_EXHAUSTED",
            "STRIPE:TOO_MANY_REQUESTS"
          ],
          "stereotype": {
            "type": "GET_V1_SUBSCRIPTIONS_BY_SUBSCRIPTION_EXPOSED_ID",
            "namespace": "STRIPE",
            "parent": {
              "type": "PROCESSOR",
              "namespace": "STRIPE",
              "parent": {
                "type": "PROCESSOR",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "subscriptionExposedId",
                  "displayModel": {
                    "displayName": "Subscription exposed id"
                  },
                  "description": "Subscription exposed id",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "String"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [],
                  "name": "expands",
                  "displayModel": {
                    "displayName": "expand",
                    "summary": "Specifies which fields in the response should be expanded."
                  },
                  "description": "Specifies which fields in the response should be expanded.",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "#[null]",
                  "role": "PRIMARY_CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customQueryParams",
                  "displayModel": {
                    "displayName": "Custom Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "classInformation": {
                        "classname": "org.mule.runtime.api.util.MultiMap",
                        "hasDefaultConstructor": true,
                        "isInterface": false,
                        "isInstantiable": true,
                        "isAbstract": false,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Map",
                          "java.io.Serializable"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "java.lang.String",
                          "java.lang.String"
                        ],
                        "isMap": true
                      }
                    },
                    "open": {
                      "type": "String"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "CONTENT",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "customHeaders",
                  "displayModel": {
                    "displayName": "Custom Headers"
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Request Parameters",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeout",
                  "displayModel": {
                    "summary": "The timeout for request to the remote service."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Response Timeout}"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "com.mulesoft.connectivity.rest.commons.api.configuration.StreamingType",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "AUTO",
                          "ALWAYS",
                          "NEVER"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": true,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingType",
                  "displayModel": {
                    "summary": "Defines if the request should be sent using streaming. Setting the value to AUTO will automatically define the best strategy based on the request content."
                  },
                  "description": "",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connector Overrides",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "target",
                  "displayModel": {
                    "displayName": "Target Variable"
                  },
                  "description": "The name of a variable on which the operation\u0027s output will be placed",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "REQUIRED",
                  "defaultValue": "#[payload]",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "targetValue",
                  "displayModel": {
                    "displayName": "Target Value"
                  },
                  "description": "An expression that will be evaluated against the operation\u0027s output and the outcome of that expression will be stored in the target variable",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 4
              },
              "showInDsl": false,
              "name": "Output",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 5
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "getV1SubscriptionsBySubscriptionExposedId",
          "displayModel": {
            "displayName": "Find Subscription",
            "summary": "Retrieves the subscription with the given ID."
          },
          "description": "Retrieves the subscription with the given ID. This operation makes an HTTP GET request to the /v1/subscriptions/{subscription_exposed_id} endpoint",
          "modelProperties": {},
          "kind": "operation"
        }
      ],
      "connectionProviders": [
        {
          "connectionManagementType": "CACHED",
          "externalLibraryModels": [],
          "supportsConnectivityTesting": true,
          "stereotype": {
            "type": "API-KEY",
            "namespace": "STRIPE",
            "parent": {
              "type": "CONNECTION",
              "namespace": "MULE"
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "com.mulesoft.connectivity.rest.commons.api.request.RequestHeader"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "@ref:com.mulesoft.connectivity.rest.commons.api.request.RequestHeader"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "defaultHeaders",
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Array",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.util.List",
                        "hasDefaultConstructor": false,
                        "isInterface": true,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": false,
                        "implementedInterfaces": [
                          "java.util.Collection"
                        ],
                        "parent": "",
                        "genericTypes": [
                          "com.mulesoft.connectivity.rest.commons.api.request.QueryParam"
                        ],
                        "isMap": false
                      }
                    },
                    "item": {
                      "type": "@ref:com.mulesoft.connectivity.rest.commons.api.request.QueryParam"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "defaultQueryParams",
                  "displayModel": {
                    "displayName": "Query Parameters"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "30",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "connectionTimeout",
                  "displayModel": {
                    "summary": "The timeout for establishing connections to the remote service"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "SECONDS",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "connectionTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the Connection Timeout"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "true",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "usePersistentConnections",
                  "displayModel": {
                    "summary": "If false, each connection will be closed after the first request is completed."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "-1",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "maxConnections",
                  "displayModel": {
                    "summary": "The maximum number of outbound connections that will be kept open at the same time"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Integer",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "30",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "connectionIdleTimeout",
                  "displayModel": {
                    "summary": "A timeout for how long a connection can remain idle before it is closed"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String",
                    "annotations": {
                      "typeId": "java.util.concurrent.TimeUnit",
                      "enum": {
                        "type": "[Ljava.lang.String;",
                        "values": [
                          "NANOSECONDS",
                          "MICROSECONDS",
                          "MILLISECONDS",
                          "SECONDS",
                          "MINUTES",
                          "HOURS",
                          "DAYS"
                        ]
                      }
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "SECONDS",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "connectionIdleTimeoutUnit",
                  "displayModel": {
                    "summary": "A time unit which qualifies the connection Idle Timeout"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:com.mulesoft.connectivity.rest.commons.api.proxy.HttpProxyConfig"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 11,
                    "tabName": "Proxy"
                  },
                  "allowedStereotypeModels": [],
                  "name": "proxyConfig",
                  "displayModel": {
                    "summary": "Reusable configuration element for outbound connections through a proxy"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean",
                    "annotations": {
                      "typeId": "boolean"
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "false",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 9,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamResponse",
                  "displayModel": {
                    "summary": "Whether or not received responses should be streamed"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "int",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": true,
                        "isFinal": true,
                        "implementedInterfaces": [],
                        "parent": "",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": "-1",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 10,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "responseBufferSize",
                  "displayModel": {
                    "summary": "The space in bytes for the buffer where the HTTP response will be stored."
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "defaultValue": "https://api.stripe.com",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 12
                  },
                  "allowedStereotypeModels": [],
                  "name": "baseUri",
                  "displayModel": {
                    "displayName": "Base Uri",
                    "summary": "Parameter base URI, each instance/tenant gets its own"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 13
                  },
                  "allowedStereotypeModels": [],
                  "name": "authorization",
                  "displayModel": {
                    "displayName": "Authorization"
                  },
                  "description": "Authorization",
                  "modelProperties": {}
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.api.tls.TlsContextFactory",
                      "typeAlias": {
                        "value": "Tls"
                      },
                      "typeDsl": {
                        "allowInlineDefinition": true,
                        "allowTopLevelDefinition": true
                      },
                      "QName": {
                        "value": {
                          "namespaceURI": "http://www.mulesoft.org/schema/mule/tls",
                          "localPart": "context",
                          "prefix": "tls"
                        }
                      }
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "enabledProtocols"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "A comma separated list of protocols enabled for this context."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "enabledCipherSuites"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "A comma separated list of cipher suites enabled for this context."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "trust-store"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "TrustStore",
                            "description": {
                              "value": "Trust store configuration. If used client side, the trust store contains the certificates of the trusted servers. If used server side, it contains the certificates of the trusted clients."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "path"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The location (which will be resolved relative to the current classpath and file system, if possible) of the trust store."
                                },
                                "display": {
                                  "displayModel": {
                                    "pathModel": {
                                      "type": "FILE",
                                      "fileExtensions": [],
                                      "acceptsUrls": false,
                                      "location": "EMBEDDED"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "password"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The password used to protect the trust store."
                                },
                                "layout": {
                                  "layoutModel": {
                                    "password": true,
                                    "text": false,
                                    "query": false
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "type"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "display": {
                                    "displayModel": {
                                      "example": "jks, jceks, pkcs12 or other store type"
                                    }
                                  }
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "The type of store used."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "algorithm"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The algorithm used by the trust store."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "insecure"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "false"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "If true, no certificate validations will be performed, rendering connections vulnerable to attacks. Use at your own risk."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "parameterDsl": {
                            "allowInlineDefinition": true,
                            "allowReferences": false
                          },
                          "expressionSupport": {
                            "value": "NOT_SUPPORTED"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "key-store"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "KeyStore",
                            "description": {
                              "value": "Key store configuration. The key store contains the keys of this server/client."
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "path"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The location (which will be resolved relative to the current classpath and file system, if possible) of the key store."
                                },
                                "display": {
                                  "displayModel": {
                                    "pathModel": {
                                      "type": "FILE",
                                      "fileExtensions": [],
                                      "acceptsUrls": false,
                                      "location": "EMBEDDED"
                                    }
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "type"
                              },
                              "model": {
                                "type": "String",
                                "annotations": {
                                  "display": {
                                    "displayModel": {
                                      "example": "jks, jceks, pkcs12 or other store type"
                                    }
                                  }
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "The type of store used."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "alias"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "When the key store contains many private keys, this attribute indicates the alias of the key that should be used. If not defined, the first key in the file will be used by default."
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "keyPassword"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The password used to protect the private key."
                                },
                                "layout": {
                                  "layoutModel": {
                                    "password": true,
                                    "text": false,
                                    "query": false
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "password"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The password used to protect the key store."
                                },
                                "layout": {
                                  "layoutModel": {
                                    "password": true,
                                    "text": false,
                                    "query": false
                                  }
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "algorithm"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "The algorithm used by the key store."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "parameterDsl": {
                            "allowInlineDefinition": true,
                            "allowReferences": false
                          },
                          "expressionSupport": {
                            "value": "NOT_SUPPORTED"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "revocation-check"
                        },
                        "model": {
                          "type": "Union",
                          "annotations": {
                            "typeId": "RevocationCheck"
                          },
                          "of": [
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "standard-revocation-check",
                                "description": {
                                  "value": "Uses the standard JVM certificate revocation checks, which depend on the certificate having the corresponding extension points (additional tags for CRLDP or OCSP), and the availability of revocation servers."
                                }
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "onlyEndEntities"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "false"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Only verify the last element of the certificate chain."
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "preferCrls"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "false"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Try CRL instead of OCSP first."
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "noFallback"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "false"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Do not use the secondary checking method (the one not selected before)."
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "softFail"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "false"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Avoid verification failure when the revocation server can not be reached or is busy."
                                    }
                                  }
                                }
                              ]
                            },
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "custom-ocsp-responder",
                                "description": {
                                  "value": "Uses a custom OCSP responder for certificate revocation checks, with a specific trusted certificate for revocating other keys. This ignores extension points (additional tags for CRLDP or OCSP) present in the certificate, if any."
                                }
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "url"
                                  },
                                  "model": {
                                    "type": "String"
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "The URL of the OCSP responder."
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "certAlias"
                                  },
                                  "model": {
                                    "type": "String"
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "Alias of the signing certificate for the OCSP response (must be in the trust store), if present."
                                    }
                                  }
                                }
                              ]
                            },
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "crl-file",
                                "description": {
                                  "value": "Local file based certificate revocation checker, which requires a CRL file to be accessible and ignores extension points (additional tags for CRLDP and OCSP) in the certificate."
                                }
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "path"
                                  },
                                  "model": {
                                    "type": "String"
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "The path to the CRL file."
                                    }
                                  }
                                }
                              ]
                            }
                          ]
                        },
                        "annotations": {
                          "parameterDsl": {
                            "allowInlineDefinition": true,
                            "allowReferences": false
                          },
                          "expressionSupport": {
                            "value": "NOT_SUPPORTED"
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": true
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1,
                    "tabName": "TLS"
                  },
                  "allowedStereotypeModels": [],
                  "name": "tlsContext",
                  "displayModel": {
                    "displayName": "TLS Configuration"
                  },
                  "description": "",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 8
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/tls",
                        "localPart": "context",
                        "prefix": "tls"
                      }
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "tls",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "Reconnection"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "failsDeployment"
                        },
                        "model": {
                          "type": "Boolean",
                          "annotations": {
                            "default": "false"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn\u0027t pass after exhausting the associated reconnection strategy"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "reconnectionStrategy"
                        },
                        "model": {
                          "type": "Union",
                          "annotations": {
                            "typeId": "ReconnectionStrategy"
                          },
                          "of": [
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "reconnect"
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "frequency"
                                  },
                                  "model": {
                                    "type": "Number",
                                    "annotations": {
                                      "int": {},
                                      "classInformation": {
                                        "classname": "java.lang.Long",
                                        "hasDefaultConstructor": false,
                                        "isInterface": false,
                                        "isInstantiable": false,
                                        "isAbstract": false,
                                        "isFinal": true,
                                        "implementedInterfaces": [
                                          "java.lang.Comparable"
                                        ],
                                        "parent": "java.lang.Number",
                                        "genericTypes": [],
                                        "isMap": false
                                      },
                                      "default": "2000"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "How often (in ms) to reconnect"
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "blocking"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "true"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "count"
                                  },
                                  "model": {
                                    "type": "Number",
                                    "annotations": {
                                      "int": {},
                                      "default": "2"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "How many reconnection attempts to make"
                                    }
                                  }
                                }
                              ]
                            },
                            {
                              "type": "Object",
                              "annotations": {
                                "typeId": "reconnect-forever"
                              },
                              "fields": [
                                {
                                  "key": {
                                    "name": "frequency"
                                  },
                                  "model": {
                                    "type": "Number",
                                    "annotations": {
                                      "int": {},
                                      "classInformation": {
                                        "classname": "java.lang.Long",
                                        "hasDefaultConstructor": false,
                                        "isInterface": false,
                                        "isInstantiable": false,
                                        "isAbstract": false,
                                        "isFinal": true,
                                        "implementedInterfaces": [
                                          "java.lang.Comparable"
                                        ],
                                        "parent": "java.lang.Number",
                                        "genericTypes": [],
                                        "isMap": false
                                      },
                                      "default": "2000"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "How often (in ms) to reconnect"
                                    }
                                  }
                                },
                                {
                                  "key": {
                                    "name": "blocking"
                                  },
                                  "model": {
                                    "type": "Boolean",
                                    "annotations": {
                                      "default": "true"
                                    }
                                  },
                                  "annotations": {
                                    "description": {
                                      "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                                    }
                                  }
                                }
                              ]
                            }
                          ]
                        },
                        "annotations": {
                          "description": {
                            "value": "The reconnection strategy to use"
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 14,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnection",
                  "description": "When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn\u0027t pass after exhausting the associated reconnection strategy",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "reconnection",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 3
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "api-key",
          "displayModel": {
            "displayName": "Api Key Connection Provider"
          },
          "description": "",
          "modelProperties": {}
        }
      ],
      "messageSources": [
        {
          "hasResponse": false,
          "runsOnPrimaryNodeOnly": false,
          "output": {
            "type": {
              "format": "java",
              "type": "Binary",
              "annotations": {
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [],
          "stereotype": {
            "type": "ON_CANCELED_SUBSCRIPTION_TRIGGER",
            "namespace": "STRIPE",
            "parent": {
              "type": "SOURCE",
              "namespace": "STRIPE",
              "parent": {
                "type": "SOURCE",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "created",
                  "displayModel": {
                    "displayName": "Created",
                    "summary": "Timestamp value as lower bound for new objects"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "String"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "status",
                  "displayModel": {
                    "displayName": "Status",
                    "summary": "The status of the subscriptions to retrieve"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": false,
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 8,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "primaryNodeOnly",
                  "description": "Whether this source should only be executed on the primary node when runnning in Cluster",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.runtime.core.api.source.scheduler.Scheduler"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3
                  },
                  "allowedStereotypeModels": [],
                  "name": "schedulingStrategy",
                  "description": "Configures the scheduler that triggers the polling",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 10
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "scheduling-strategy",
                        "prefix": "mule"
                      }
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "RedeliveryPolicy"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxRedeliveryCount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "messageDigestAlgorithm"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "The secure hashing algorithm to use. If not set, the default is SHA-256."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "MessageIdentifier"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "RedeliveryPolicyMessageIdentifier",
                            "exclusiveOptionals": {
                              "exclusiveParameterNames": [
                                "useSecureHash",
                                "idExpression"
                              ],
                              "isOneRequired": true
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "useSecureHash"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "true"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Whether to use a secure hash algorithm to identify a redelivered message"
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "idExpression"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "flattened": {},
                          "description": {
                            "value": "Defines which strategy is used to identify the messages."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "objectStore"
                        },
                        "model": {
                          "type": "@ref:org.mule.runtime.api.store.ObjectStore"
                        },
                        "annotations": {
                          "stereotype": {
                            "allowedStereotypes": [
                              {
                                "type": "OBJECT_STORE",
                                "namespace": "OS"
                              }
                            ]
                          },
                          "description": {
                            "value": "The object store where the redelivery counter for each message is going to be stored."
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Redelivery"
                  },
                  "allowedStereotypeModels": [],
                  "name": "redeliveryPolicy",
                  "description": "Defines a policy for processing the redelivery of the same message",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-redelivery-policy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 1
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "OnCanceledSubscriptionTrigger",
          "description": "",
          "modelProperties": {},
          "kind": "source"
        },
        {
          "hasResponse": false,
          "runsOnPrimaryNodeOnly": false,
          "output": {
            "type": {
              "format": "java",
              "type": "Binary",
              "annotations": {
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [],
          "stereotype": {
            "type": "ON_NEW_CHARGE_TRIGGER",
            "namespace": "STRIPE",
            "parent": {
              "type": "SOURCE",
              "namespace": "STRIPE",
              "parent": {
                "type": "SOURCE",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "created",
                  "displayModel": {
                    "displayName": "Created",
                    "summary": "Timestamp value as lower bound for new objects"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": false,
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "primaryNodeOnly",
                  "description": "Whether this source should only be executed on the primary node when runnning in Cluster",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.runtime.core.api.source.scheduler.Scheduler"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "schedulingStrategy",
                  "description": "Configures the scheduler that triggers the polling",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 10
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "scheduling-strategy",
                        "prefix": "mule"
                      }
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "RedeliveryPolicy"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxRedeliveryCount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "messageDigestAlgorithm"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "The secure hashing algorithm to use. If not set, the default is SHA-256."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "MessageIdentifier"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "RedeliveryPolicyMessageIdentifier",
                            "exclusiveOptionals": {
                              "exclusiveParameterNames": [
                                "useSecureHash",
                                "idExpression"
                              ],
                              "isOneRequired": true
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "useSecureHash"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "true"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Whether to use a secure hash algorithm to identify a redelivered message"
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "idExpression"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "flattened": {},
                          "description": {
                            "value": "Defines which strategy is used to identify the messages."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "objectStore"
                        },
                        "model": {
                          "type": "@ref:org.mule.runtime.api.store.ObjectStore"
                        },
                        "annotations": {
                          "stereotype": {
                            "allowedStereotypes": [
                              {
                                "type": "OBJECT_STORE",
                                "namespace": "OS"
                              }
                            ]
                          },
                          "description": {
                            "value": "The object store where the redelivery counter for each message is going to be stored."
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Redelivery"
                  },
                  "allowedStereotypeModels": [],
                  "name": "redeliveryPolicy",
                  "description": "Defines a policy for processing the redelivery of the same message",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-redelivery-policy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 1
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "OnNewChargeTrigger",
          "description": "",
          "modelProperties": {},
          "kind": "source"
        },
        {
          "hasResponse": false,
          "runsOnPrimaryNodeOnly": false,
          "output": {
            "type": {
              "format": "java",
              "type": "Binary",
              "annotations": {
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [],
          "stereotype": {
            "type": "ON_NEW_COUPON_TRIGGER",
            "namespace": "STRIPE",
            "parent": {
              "type": "SOURCE",
              "namespace": "STRIPE",
              "parent": {
                "type": "SOURCE",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "created",
                  "displayModel": {
                    "displayName": "Created",
                    "summary": "Timestamp value as lower bound for new objects"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": false,
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "primaryNodeOnly",
                  "description": "Whether this source should only be executed on the primary node when runnning in Cluster",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.runtime.core.api.source.scheduler.Scheduler"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "schedulingStrategy",
                  "description": "Configures the scheduler that triggers the polling",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 10
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "scheduling-strategy",
                        "prefix": "mule"
                      }
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "RedeliveryPolicy"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxRedeliveryCount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "messageDigestAlgorithm"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "The secure hashing algorithm to use. If not set, the default is SHA-256."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "MessageIdentifier"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "RedeliveryPolicyMessageIdentifier",
                            "exclusiveOptionals": {
                              "exclusiveParameterNames": [
                                "useSecureHash",
                                "idExpression"
                              ],
                              "isOneRequired": true
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "useSecureHash"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "true"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Whether to use a secure hash algorithm to identify a redelivered message"
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "idExpression"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "flattened": {},
                          "description": {
                            "value": "Defines which strategy is used to identify the messages."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "objectStore"
                        },
                        "model": {
                          "type": "@ref:org.mule.runtime.api.store.ObjectStore"
                        },
                        "annotations": {
                          "stereotype": {
                            "allowedStereotypes": [
                              {
                                "type": "OBJECT_STORE",
                                "namespace": "OS"
                              }
                            ]
                          },
                          "description": {
                            "value": "The object store where the redelivery counter for each message is going to be stored."
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Redelivery"
                  },
                  "allowedStereotypeModels": [],
                  "name": "redeliveryPolicy",
                  "description": "Defines a policy for processing the redelivery of the same message",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-redelivery-policy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 1
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "OnNewCouponTrigger",
          "description": "",
          "modelProperties": {},
          "kind": "source"
        },
        {
          "hasResponse": false,
          "runsOnPrimaryNodeOnly": false,
          "output": {
            "type": {
              "format": "java",
              "type": "Binary",
              "annotations": {
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [],
          "stereotype": {
            "type": "ON_NEW_CUSTOMER_TRIGGER",
            "namespace": "STRIPE",
            "parent": {
              "type": "SOURCE",
              "namespace": "STRIPE",
              "parent": {
                "type": "SOURCE",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "created",
                  "displayModel": {
                    "displayName": "Created",
                    "summary": "Timestamp value as lower bound for new objects"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": false,
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "primaryNodeOnly",
                  "description": "Whether this source should only be executed on the primary node when runnning in Cluster",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.runtime.core.api.source.scheduler.Scheduler"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "schedulingStrategy",
                  "description": "Configures the scheduler that triggers the polling",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 10
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "scheduling-strategy",
                        "prefix": "mule"
                      }
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "RedeliveryPolicy"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxRedeliveryCount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "messageDigestAlgorithm"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "The secure hashing algorithm to use. If not set, the default is SHA-256."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "MessageIdentifier"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "RedeliveryPolicyMessageIdentifier",
                            "exclusiveOptionals": {
                              "exclusiveParameterNames": [
                                "useSecureHash",
                                "idExpression"
                              ],
                              "isOneRequired": true
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "useSecureHash"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "true"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Whether to use a secure hash algorithm to identify a redelivered message"
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "idExpression"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "flattened": {},
                          "description": {
                            "value": "Defines which strategy is used to identify the messages."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "objectStore"
                        },
                        "model": {
                          "type": "@ref:org.mule.runtime.api.store.ObjectStore"
                        },
                        "annotations": {
                          "stereotype": {
                            "allowedStereotypes": [
                              {
                                "type": "OBJECT_STORE",
                                "namespace": "OS"
                              }
                            ]
                          },
                          "description": {
                            "value": "The object store where the redelivery counter for each message is going to be stored."
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Redelivery"
                  },
                  "allowedStereotypeModels": [],
                  "name": "redeliveryPolicy",
                  "description": "Defines a policy for processing the redelivery of the same message",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-redelivery-policy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 1
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "OnNewCustomerTrigger",
          "description": "",
          "modelProperties": {},
          "kind": "source"
        },
        {
          "hasResponse": false,
          "runsOnPrimaryNodeOnly": false,
          "output": {
            "type": {
              "format": "java",
              "type": "Binary",
              "annotations": {
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [],
          "stereotype": {
            "type": "ON_NEW_EVENT_TRIGGER",
            "namespace": "STRIPE",
            "parent": {
              "type": "SOURCE",
              "namespace": "STRIPE",
              "parent": {
                "type": "SOURCE",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "created",
                  "displayModel": {
                    "displayName": "Created",
                    "summary": "Timestamp value as lower bound for new objects"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": false,
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "primaryNodeOnly",
                  "description": "Whether this source should only be executed on the primary node when runnning in Cluster",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.runtime.core.api.source.scheduler.Scheduler"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "schedulingStrategy",
                  "description": "Configures the scheduler that triggers the polling",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 10
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "scheduling-strategy",
                        "prefix": "mule"
                      }
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "RedeliveryPolicy"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxRedeliveryCount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "messageDigestAlgorithm"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "The secure hashing algorithm to use. If not set, the default is SHA-256."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "MessageIdentifier"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "RedeliveryPolicyMessageIdentifier",
                            "exclusiveOptionals": {
                              "exclusiveParameterNames": [
                                "useSecureHash",
                                "idExpression"
                              ],
                              "isOneRequired": true
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "useSecureHash"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "true"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Whether to use a secure hash algorithm to identify a redelivered message"
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "idExpression"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "flattened": {},
                          "description": {
                            "value": "Defines which strategy is used to identify the messages."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "objectStore"
                        },
                        "model": {
                          "type": "@ref:org.mule.runtime.api.store.ObjectStore"
                        },
                        "annotations": {
                          "stereotype": {
                            "allowedStereotypes": [
                              {
                                "type": "OBJECT_STORE",
                                "namespace": "OS"
                              }
                            ]
                          },
                          "description": {
                            "value": "The object store where the redelivery counter for each message is going to be stored."
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Redelivery"
                  },
                  "allowedStereotypeModels": [],
                  "name": "redeliveryPolicy",
                  "description": "Defines a policy for processing the redelivery of the same message",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-redelivery-policy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 1
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "OnNewEventTrigger",
          "description": "",
          "modelProperties": {},
          "kind": "source"
        },
        {
          "hasResponse": false,
          "runsOnPrimaryNodeOnly": false,
          "output": {
            "type": {
              "format": "java",
              "type": "Binary",
              "annotations": {
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [],
          "stereotype": {
            "type": "ON_NEW_INVOICE_TRIGGER",
            "namespace": "STRIPE",
            "parent": {
              "type": "SOURCE",
              "namespace": "STRIPE",
              "parent": {
                "type": "SOURCE",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "created",
                  "displayModel": {
                    "displayName": "Created",
                    "summary": "Timestamp value as lower bound for new objects"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": false,
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "primaryNodeOnly",
                  "description": "Whether this source should only be executed on the primary node when runnning in Cluster",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.runtime.core.api.source.scheduler.Scheduler"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "schedulingStrategy",
                  "description": "Configures the scheduler that triggers the polling",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 10
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "scheduling-strategy",
                        "prefix": "mule"
                      }
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "RedeliveryPolicy"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxRedeliveryCount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "messageDigestAlgorithm"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "The secure hashing algorithm to use. If not set, the default is SHA-256."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "MessageIdentifier"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "RedeliveryPolicyMessageIdentifier",
                            "exclusiveOptionals": {
                              "exclusiveParameterNames": [
                                "useSecureHash",
                                "idExpression"
                              ],
                              "isOneRequired": true
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "useSecureHash"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "true"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Whether to use a secure hash algorithm to identify a redelivered message"
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "idExpression"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "flattened": {},
                          "description": {
                            "value": "Defines which strategy is used to identify the messages."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "objectStore"
                        },
                        "model": {
                          "type": "@ref:org.mule.runtime.api.store.ObjectStore"
                        },
                        "annotations": {
                          "stereotype": {
                            "allowedStereotypes": [
                              {
                                "type": "OBJECT_STORE",
                                "namespace": "OS"
                              }
                            ]
                          },
                          "description": {
                            "value": "The object store where the redelivery counter for each message is going to be stored."
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Redelivery"
                  },
                  "allowedStereotypeModels": [],
                  "name": "redeliveryPolicy",
                  "description": "Defines a policy for processing the redelivery of the same message",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-redelivery-policy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 1
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "OnNewInvoiceTrigger",
          "description": "",
          "modelProperties": {},
          "kind": "source"
        },
        {
          "hasResponse": false,
          "runsOnPrimaryNodeOnly": false,
          "output": {
            "type": {
              "format": "java",
              "type": "Binary",
              "annotations": {
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [],
          "stereotype": {
            "type": "ON_NEW_ORDER_TRIGGER",
            "namespace": "STRIPE",
            "parent": {
              "type": "SOURCE",
              "namespace": "STRIPE",
              "parent": {
                "type": "SOURCE",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "created",
                  "displayModel": {
                    "displayName": "Created",
                    "summary": "Timestamp value as lower bound for new objects"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": false,
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "primaryNodeOnly",
                  "description": "Whether this source should only be executed on the primary node when runnning in Cluster",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.runtime.core.api.source.scheduler.Scheduler"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "schedulingStrategy",
                  "description": "Configures the scheduler that triggers the polling",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 10
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "scheduling-strategy",
                        "prefix": "mule"
                      }
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "RedeliveryPolicy"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxRedeliveryCount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "messageDigestAlgorithm"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "The secure hashing algorithm to use. If not set, the default is SHA-256."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "MessageIdentifier"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "RedeliveryPolicyMessageIdentifier",
                            "exclusiveOptionals": {
                              "exclusiveParameterNames": [
                                "useSecureHash",
                                "idExpression"
                              ],
                              "isOneRequired": true
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "useSecureHash"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "true"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Whether to use a secure hash algorithm to identify a redelivered message"
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "idExpression"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "flattened": {},
                          "description": {
                            "value": "Defines which strategy is used to identify the messages."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "objectStore"
                        },
                        "model": {
                          "type": "@ref:org.mule.runtime.api.store.ObjectStore"
                        },
                        "annotations": {
                          "stereotype": {
                            "allowedStereotypes": [
                              {
                                "type": "OBJECT_STORE",
                                "namespace": "OS"
                              }
                            ]
                          },
                          "description": {
                            "value": "The object store where the redelivery counter for each message is going to be stored."
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Redelivery"
                  },
                  "allowedStereotypeModels": [],
                  "name": "redeliveryPolicy",
                  "description": "Defines a policy for processing the redelivery of the same message",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-redelivery-policy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 1
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "OnNewOrderTrigger",
          "description": "",
          "modelProperties": {},
          "kind": "source"
        },
        {
          "hasResponse": false,
          "runsOnPrimaryNodeOnly": false,
          "output": {
            "type": {
              "format": "java",
              "type": "Binary",
              "annotations": {
                "classInformation": {
                  "classname": "java.io.InputStream",
                  "hasDefaultConstructor": true,
                  "isInterface": false,
                  "isInstantiable": false,
                  "isAbstract": true,
                  "isFinal": false,
                  "implementedInterfaces": [
                    "java.io.Closeable"
                  ],
                  "parent": "",
                  "genericTypes": [],
                  "isMap": false
                }
              }
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "outputAttributes": {
            "type": {
              "format": "java",
              "type": "@ref:com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes"
            },
            "hasDynamicType": false,
            "description": "",
            "modelProperties": {}
          },
          "transactional": false,
          "requiresConnection": true,
          "supportsStreaming": true,
          "notifications": [],
          "nestedComponents": [],
          "errors": [],
          "stereotype": {
            "type": "ON_NEW_REFUND_TRIGGER",
            "namespace": "STRIPE",
            "parent": {
              "type": "SOURCE",
              "namespace": "STRIPE",
              "parent": {
                "type": "SOURCE",
                "namespace": "MULE"
              }
            }
          },
          "parameterGroupModels": [
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Number",
                    "annotations": {
                      "classInformation": {
                        "classname": "java.lang.Long",
                        "hasDefaultConstructor": false,
                        "isInterface": false,
                        "isInstantiable": false,
                        "isAbstract": false,
                        "isFinal": true,
                        "implementedInterfaces": [
                          "java.lang.Comparable"
                        ],
                        "parent": "java.lang.Number",
                        "genericTypes": [],
                        "isMap": false
                      },
                      "int": {}
                    }
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 1
                  },
                  "allowedStereotypeModels": [],
                  "name": "created",
                  "displayModel": {
                    "displayName": "Created",
                    "summary": "Timestamp value as lower bound for new objects"
                  },
                  "description": "",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "org.mule.runtime.extension.api.runtime.config.ConfigurationProvider"
                    },
                    "fields": []
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": true,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 4
                  },
                  "allowedStereotypeModels": [
                    {
                      "type": "CONFIG",
                      "namespace": "STRIPE",
                      "parent": {
                        "type": "MODULE_CONFIG",
                        "namespace": "MULE"
                      }
                    }
                  ],
                  "name": "config-ref",
                  "description": "The name of the configuration to be used to execute this component",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Boolean"
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "defaultValue": false,
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": false,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 7,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "primaryNodeOnly",
                  "description": "Whether this source should only be executed on the primary node when runnning in Cluster",
                  "modelProperties": {}
                },
                {
                  "type": {
                    "format": "java",
                    "type": "@ref:org.mule.runtime.core.api.source.scheduler.Scheduler"
                  },
                  "hasDynamicType": false,
                  "required": true,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 2
                  },
                  "allowedStereotypeModels": [],
                  "name": "schedulingStrategy",
                  "description": "Configures the scheduler that triggers the polling",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 10
                    },
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "scheduling-strategy",
                        "prefix": "mule"
                      }
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ByteStreamingStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-in-memory-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "initialBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the amount of memory that will be allocated in order to consume the stream and provide random access to it. If the stream contains more data than can be fit into this buffer, then it will be expanded by according to the bufferSizeIncrement attribute, with an upper limit of maxInMemorySize."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferSizeIncrement"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is by how much will be buffer size by expanded if it exceeds its initial size. Setting a value of zero or lower will mean that the buffer should not expand, meaning that a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised when the buffer gets full."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "maxBufferSize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "1024"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "This is the maximum amount of memory that will be used. If more than that is used then a STREAM_MAXIMUM_SIZE_EXCEEDED error will be raised. A value lower or equal to zero means no limit."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which all these attributes are expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "repeatable-file-store-stream"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "inMemorySize"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "512"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "Defines the maximum memory that the stream should use to keep data in memory. If more than that is consumed then it will start to buffer the content on disk."
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "bufferUnit"
                            },
                            "model": {
                              "type": "String",
                              "annotations": {
                                "enum": {
                                  "type": "[Ljava.lang.String;",
                                  "values": [
                                    "BYTE",
                                    "KB",
                                    "MB",
                                    "GB"
                                  ]
                                },
                                "default": "KB"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "The unit in which maxInMemorySize is expressed"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "non-repeatable-stream",
                          "description": {
                            "value": "This configuration allows the input stream to be read only once. It will not allow to seek randomly which will limit the transformations that DW can perform on this stream. Use this option for use cases which just require moving data around from one system to another to get optimum performance."
                          }
                        },
                        "fields": []
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 3,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "streamingStrategy",
                  "description": "Configure if repeatable streams should be used and their behaviour",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-byte-streaming-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 2
                    }
                  }
                },
                {
                  "type": {
                    "format": "java",
                    "type": "Object",
                    "annotations": {
                      "typeId": "RedeliveryPolicy"
                    },
                    "fields": [
                      {
                        "key": {
                          "name": "maxRedeliveryCount"
                        },
                        "model": {
                          "type": "Number",
                          "annotations": {
                            "int": {},
                            "default": "5"
                          }
                        },
                        "annotations": {
                          "description": {
                            "value": "The maximum number of times a message can be redelivered and processed unsuccessfully before triggering process-failed-message"
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "messageDigestAlgorithm"
                        },
                        "model": {
                          "type": "String"
                        },
                        "annotations": {
                          "description": {
                            "value": "The secure hashing algorithm to use. If not set, the default is SHA-256."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "MessageIdentifier"
                        },
                        "model": {
                          "type": "Object",
                          "annotations": {
                            "typeId": "RedeliveryPolicyMessageIdentifier",
                            "exclusiveOptionals": {
                              "exclusiveParameterNames": [
                                "useSecureHash",
                                "idExpression"
                              ],
                              "isOneRequired": true
                            }
                          },
                          "fields": [
                            {
                              "key": {
                                "name": "useSecureHash"
                              },
                              "model": {
                                "type": "Boolean",
                                "annotations": {
                                  "default": "true"
                                }
                              },
                              "annotations": {
                                "description": {
                                  "value": "Whether to use a secure hash algorithm to identify a redelivered message"
                                }
                              }
                            },
                            {
                              "key": {
                                "name": "idExpression"
                              },
                              "model": {
                                "type": "String"
                              },
                              "annotations": {
                                "description": {
                                  "value": "Defines one or more expressions to use to determine when a message has been redelivered. This property may only be set if useSecureHash is false."
                                }
                              }
                            }
                          ]
                        },
                        "annotations": {
                          "flattened": {},
                          "description": {
                            "value": "Defines which strategy is used to identify the messages."
                          }
                        }
                      },
                      {
                        "key": {
                          "name": "objectStore"
                        },
                        "model": {
                          "type": "@ref:org.mule.runtime.api.store.ObjectStore"
                        },
                        "annotations": {
                          "stereotype": {
                            "allowedStereotypes": [
                              {
                                "type": "OBJECT_STORE",
                                "namespace": "OS"
                              }
                            ]
                          },
                          "description": {
                            "value": "The object store where the redelivery counter for each message is going to be stored."
                          }
                        }
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 5,
                    "tabName": "Redelivery"
                  },
                  "allowedStereotypeModels": [],
                  "name": "redeliveryPolicy",
                  "description": "Defines a policy for processing the redelivery of the same message",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-redelivery-policy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 1
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 1
              },
              "showInDsl": false,
              "name": "General",
              "description": "",
              "modelProperties": {}
            },
            {
              "parameters": [
                {
                  "type": {
                    "format": "java",
                    "type": "Union",
                    "annotations": {
                      "typeId": "ReconnectionStrategy"
                    },
                    "of": [
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "count"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "default": "2"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How many reconnection attempts to make"
                              }
                            }
                          }
                        ]
                      },
                      {
                        "type": "Object",
                        "annotations": {
                          "typeId": "reconnect-forever"
                        },
                        "fields": [
                          {
                            "key": {
                              "name": "frequency"
                            },
                            "model": {
                              "type": "Number",
                              "annotations": {
                                "int": {},
                                "classInformation": {
                                  "classname": "java.lang.Long",
                                  "hasDefaultConstructor": false,
                                  "isInterface": false,
                                  "isInstantiable": false,
                                  "isAbstract": false,
                                  "isFinal": true,
                                  "implementedInterfaces": [
                                    "java.lang.Comparable"
                                  ],
                                  "parent": "java.lang.Number",
                                  "genericTypes": [],
                                  "isMap": false
                                },
                                "default": "2000"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "How often (in ms) to reconnect"
                              }
                            }
                          },
                          {
                            "key": {
                              "name": "blocking"
                            },
                            "model": {
                              "type": "Boolean",
                              "annotations": {
                                "default": "true"
                              }
                            },
                            "annotations": {
                              "description": {
                                "value": "If false, the reconnection strategy will run in a separate, non-blocking thread"
                              }
                            }
                          }
                        ]
                      }
                    ]
                  },
                  "hasDynamicType": false,
                  "required": false,
                  "isConfigOverride": false,
                  "isComponentId": false,
                  "expressionSupport": "NOT_SUPPORTED",
                  "role": "BEHAVIOUR",
                  "dslConfiguration": {
                    "allowsInlineDefinition": true,
                    "allowsReferences": false,
                    "allowTopLevelDefinition": false
                  },
                  "layoutModel": {
                    "password": false,
                    "text": false,
                    "query": false,
                    "order": 6,
                    "tabName": "Advanced"
                  },
                  "allowedStereotypeModels": [],
                  "name": "reconnectionStrategy",
                  "description": "A retry strategy in case of connectivity errors",
                  "modelProperties": {
                    "org.mule.runtime.extension.api.property.QNameModelProperty": {
                      "value": {
                        "namespaceURI": "http://www.mulesoft.org/schema/mule/core",
                        "localPart": "abstract-reconnection-strategy",
                        "prefix": "mule"
                      }
                    },
                    "org.mule.runtime.extension.api.property.InfrastructureParameterModelProperty": {
                      "sequence": 3
                    }
                  }
                }
              ],
              "exclusiveParametersModels": [],
              "layoutModel": {
                "password": false,
                "text": false,
                "query": false,
                "order": 2
              },
              "showInDsl": false,
              "name": "Connection",
              "description": "",
              "modelProperties": {}
            }
          ],
          "name": "OnNewRefundTrigger",
          "description": "",
          "modelProperties": {},
          "kind": "source"
        }
      ],
      "name": "config",
      "description": "",
      "modelProperties": {}
    }
  ],
  "operations": [],
  "functions": [],
  "constructs": [],
  "connectionProviders": [],
  "messageSources": [],
  "notifications": [],
  "errors": [
    {
      "error": "STRIPE:RETRY_EXHAUSTED",
      "parent": "MULE:RETRY_EXHAUSTED",
      "handleable": true
    },
    {
      "error": "MULE:RETRY_EXHAUSTED",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "STRIPE:CONNECTIVITY",
      "parent": "MULE:CONNECTIVITY",
      "handleable": true
    },
    {
      "error": "MULE:CONNECTIVITY",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "STRIPE:NOT_ACCEPTABLE",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "STRIPE:UNAUTHORIZED",
      "parent": "STRIPE:CLIENT_ERROR",
      "handleable": true
    },
    {
      "error": "STRIPE:CLIENT_ERROR",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "STRIPE:NOT_FOUND",
      "parent": "STRIPE:CLIENT_ERROR",
      "handleable": true
    },
    {
      "error": "STRIPE:SERVER_ERROR",
      "parent": "MULE:ANY",
      "handleable": true
    },
    {
      "error": "STRIPE:BAD_REQUEST",
      "parent": "STRIPE:CLIENT_ERROR",
      "handleable": true
    },
    {
      "error": "STRIPE:SERVICE_UNAVAILABLE",
      "parent": "STRIPE:SERVER_ERROR",
      "handleable": true
    },
    {
      "error": "STRIPE:INTERNAL_SERVER_ERROR",
      "parent": "STRIPE:SERVER_ERROR",
      "handleable": true
    },
    {
      "error": "STRIPE:TIMEOUT",
      "parent": "STRIPE:CLIENT_ERROR",
      "handleable": true
    },
    {
      "error": "STRIPE:UNSUPPORTED_MEDIA_TYPE",
      "parent": "STRIPE:CLIENT_ERROR",
      "handleable": true
    },
    {
      "error": "STRIPE:TOO_MANY_REQUESTS",
      "parent": "STRIPE:CLIENT_ERROR",
      "handleable": true
    }
  ],
  "modelProperties": {},
  "types": [
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes",
        "classInformation": {
          "classname": "com.mulesoft.connectivity.rest.commons.api.operation.HttpResponseAttributes",
          "hasDefaultConstructor": false,
          "isInterface": false,
          "isInstantiable": false,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "java.io.Serializable"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "HttpResponseAttributes"
        }
      },
      "fields": [
        {
          "key": {
            "name": "statusCode",
            "required": "true"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "headers",
            "required": "true"
          },
          "model": {
            "type": "Object",
            "annotations": {
              "classInformation": {
                "classname": "org.mule.runtime.api.util.MultiMap",
                "hasDefaultConstructor": true,
                "isInterface": false,
                "isInstantiable": true,
                "isAbstract": false,
                "isFinal": false,
                "implementedInterfaces": [
                  "java.util.Map",
                  "java.io.Serializable"
                ],
                "parent": "",
                "genericTypes": [
                  "java.lang.String",
                  "java.lang.String"
                ],
                "isMap": true
              }
            },
            "open": {
              "type": "String"
            },
            "fields": []
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "reasonPhrase",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "com.mulesoft.connectivity.rest.commons.api.proxy.HttpProxyConfig",
        "classInformation": {
          "classname": "com.mulesoft.connectivity.rest.commons.api.proxy.HttpProxyConfig",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [
            "org.mule.runtime.http.api.client.proxy.ProxyConfig"
          ],
          "parent": "",
          "genericTypes": [],
          "isMap": false
        },
        "typeDsl": {
          "allowInlineDefinition": true,
          "allowTopLevelDefinition": true
        },
        "typeAlias": {
          "value": "proxy"
        }
      },
      "fields": [
        {
          "key": {
            "name": "host",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "port",
            "required": "true"
          },
          "model": {
            "type": "Number",
            "annotations": {
              "classInformation": {
                "classname": "int",
                "hasDefaultConstructor": false,
                "isInterface": false,
                "isInstantiable": false,
                "isAbstract": true,
                "isFinal": true,
                "implementedInterfaces": [],
                "parent": "",
                "genericTypes": [],
                "isMap": false
              },
              "int": {}
            }
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "username"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "password"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            },
            "layout": {
              "layoutModel": {
                "password": true,
                "text": false,
                "query": false
              }
            }
          }
        },
        {
          "key": {
            "name": "nonProxyHosts"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "com.mulesoft.connectivity.rest.commons.api.request.QueryParam",
        "classInformation": {
          "classname": "com.mulesoft.connectivity.rest.commons.api.request.QueryParam",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "com.mulesoft.connectivity.rest.commons.api.request.KeyValue",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "defaultQueryParam"
        }
      },
      "fields": [
        {
          "key": {
            "name": "key",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "value",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        }
      ]
    },
    {
      "format": "java",
      "type": "Object",
      "annotations": {
        "typeId": "com.mulesoft.connectivity.rest.commons.api.request.RequestHeader",
        "classInformation": {
          "classname": "com.mulesoft.connectivity.rest.commons.api.request.RequestHeader",
          "hasDefaultConstructor": true,
          "isInterface": false,
          "isInstantiable": true,
          "isAbstract": false,
          "isFinal": false,
          "implementedInterfaces": [],
          "parent": "com.mulesoft.connectivity.rest.commons.api.request.KeyValue",
          "genericTypes": [],
          "isMap": false
        },
        "typeAlias": {
          "value": "defaultHeader"
        }
      },
      "fields": [
        {
          "key": {
            "name": "key",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        },
        {
          "key": {
            "name": "value",
            "required": "true"
          },
          "model": {
            "type": "String"
          },
          "annotations": {
            "expressionSupport": {
              "value": "NOT_SUPPORTED"
            }
          }
        }
      ]
    }
  ]
}
