# `Lightning.Credentials.Credential`
[🔗](https://github.com/OpenFn/lightning/blob/main/lib/lightning/credentials/credential.ex#L1)

The Credential model.
Stores metadata about credentials. Actual credential data lives in credential_bodies.

# `t`

```elixir
@type t() :: %Lightning.Credentials.Credential{
  __meta__: Ecto.Schema.Metadata.t(),
  credential_bodies: term(),
  external_id: term(),
  id: Ecto.UUID.t() | nil,
  inserted_at: term(),
  name: String.t(),
  oauth_client: term(),
  oauth_client_id: term(),
  project_credentials: term(),
  projects: term(),
  scheduled_deletion: term(),
  schema: String.t() | nil,
  transfer_status: term(),
  updated_at: term(),
  user: term(),
  user_id: term()
}
```

# `create_changeset`

Changeset for creating a credential; owner (:user_id) is settable only at creation.

# `transfer_changeset`

Changeset for the guarded credential-transfer flow. Wraps the generic changeset so it keeps all validations/constraints, and additionally allows :user_id and :transfer_status.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
