defmodule Stripe.Capability do use Stripe.Entity @moduledoc "This is an object representing a capability for a Stripe account.\n\nRelated guide: [Account capabilities](https://stripe.com/docs/connect/account-capabilities)" ( defstruct [ :account, :future_requirements, :id, :object, :requested, :requested_at, :requirements, :status ] @typedoc "The `capability` type.\n\n * `account` The account for which the capability enables functionality.\n * `future_requirements` \n * `id` The identifier for the capability.\n * `object` String representing the object's type. Objects of the same type share the same value.\n * `requested` Whether the capability has been requested.\n * `requested_at` Time at which the capability was requested. Measured in seconds since the Unix epoch.\n * `requirements` \n * `status` The status of the capability.\n" @type t :: %__MODULE__{ account: binary | Stripe.Account.t(), future_requirements: term, id: binary, object: binary, requested: boolean, requested_at: integer | nil, requirements: term, status: binary } ) ( nil @doc "
Returns a list of capabilities associated with the account. The capabilities are returned sorted by creation date, with the most recent capability appearing first.
\n\n#### Details\n\n * Method: `get`\n * Path: `/v1/accounts/{account}/capabilities`\n" ( @spec list( account :: binary(), params :: %{optional(:expand) => list(binary)}, opts :: Keyword.t() ) :: {:ok, Stripe.List.t(Stripe.Capability.t())} | {:error, Stripe.ApiErrors.t()} | {:error, term()} def list(account, params \\ %{}, opts \\ []) do path = Stripe.OpenApi.Path.replace_path_params( "/v1/accounts/{account}/capabilities", [ %{ __struct__: OpenApiGen.Blueprint.Parameter, in: "path", name: "account", required: true, schema: %{ __struct__: OpenApiGen.Blueprint.Parameter.Schema, any_of: [], items: [], name: "account", properties: [], title: nil, type: "string" } } ], [account] ) Stripe.Request.new_request(opts) |> Stripe.Request.put_endpoint(path) |> Stripe.Request.put_params(params) |> Stripe.Request.put_method(:get) |> Stripe.Request.make_request() end ) ) ( nil @doc "Retrieves information about the specified Account Capability.
\n\n#### Details\n\n * Method: `get`\n * Path: `/v1/accounts/{account}/capabilities/{capability}`\n" ( @spec retrieve( account :: binary(), capability :: binary(), params :: %{optional(:expand) => list(binary)}, opts :: Keyword.t() ) :: {:ok, Stripe.Capability.t()} | {:error, Stripe.ApiErrors.t()} | {:error, term()} def retrieve(account, capability, params \\ %{}, opts \\ []) do path = Stripe.OpenApi.Path.replace_path_params( "/v1/accounts/{account}/capabilities/{capability}", [ %{ __struct__: OpenApiGen.Blueprint.Parameter, in: "path", name: "account", required: true, schema: %{ __struct__: OpenApiGen.Blueprint.Parameter.Schema, any_of: [], items: [], name: "account", properties: [], title: nil, type: "string" } }, %{ __struct__: OpenApiGen.Blueprint.Parameter, in: "path", name: "capability", required: true, schema: %{ __struct__: OpenApiGen.Blueprint.Parameter.Schema, any_of: [], items: [], name: "capability", properties: [], title: nil, type: "string" } } ], [account, capability] ) Stripe.Request.new_request(opts) |> Stripe.Request.put_endpoint(path) |> Stripe.Request.put_params(params) |> Stripe.Request.put_method(:get) |> Stripe.Request.make_request() end ) ) ( nil @doc "Updates an existing Account Capability. Request or remove a capability by updating its requested parameter.