# Sources `Source` objects allow you to accept a variety of payment methods. They represent a customer’s payment instrument, and can be used with the Stripe API just like a `Card` object: once chargeable, they can be charged, or can be attached to customers. Stripe doesn’t recommend using the deprecated [Sources API](https://docs.stripe.com/docs/api/sources.md). We recommend that you adopt the [PaymentMethods API](https://docs.stripe.com/docs/api/payment_methods.md). This newer API provides access to our latest features and payment method types. Related guides: [Sources API](https://docs.stripe.com/docs/sources.md) and [Sources & Customers](https://docs.stripe.com/docs/sources/customers.md). ## Endpoints ### Create a source - [POST /v1/sources](https://docs.stripe.com/api/sources/create.md) ### Update a source - [POST /v1/sources/:id](https://docs.stripe.com/api/sources/update.md) ### Retrieve a source - [GET /v1/sources/:id](https://docs.stripe.com/api/sources/retrieve.md) ### Attach a source - [POST /v1/customers/:id/sources](https://docs.stripe.com/api/sources/attach.md) ### Detach a source - [DELETE /v1/customers/:id/sources/:id](https://docs.stripe.com/api/sources/detach.md) ## Events - `account.external_account.created` Occurs whenever an external account is created. - `account.external_account.deleted` Occurs whenever an external account is deleted. - `account.external_account.updated` Occurs whenever an external account is updated. - `customer.source.created` Occurs whenever a new source is created for a customer. - `customer.source.deleted` Occurs whenever a source is removed from a customer. - `customer.source.expiring` Occurs whenever a card or source will expire at the end of the month. This event only works with legacy integrations using Card or Source objects. If you use the PaymentMethod API, this event won’t occur. - `customer.source.updated` Occurs whenever a source’s details are changed. - `source.canceled` Occurs whenever a source is canceled. - `source.chargeable` Occurs whenever a source transitions to chargeable. - `source.failed` Occurs whenever a source fails. - `source.refund_attributes_required` Occurs whenever the refund attributes are required on a receiver source to process a refund or a mispayment.