---
title: "Create Credential"
method: POST
path: "/plug/credentials"
tags: ["Credentials"]
---

# Create Credential

`POST /plug/credentials`

The credential endpoint allows you to create a new credential in the system. In order to create a new credential, you must submit the required provider ID, username, and password as defined by the providers endpoint.

This endpoint supports [Sandbox Mode](https://docs.arcadia.com/docs/sandbox-testing).

## Headers

- `Arcadia-Version` string, required

## Request body

- PlugPublicCredentialRequest
  - `correlationId` string — An ID used to match the utility data pulled for this request back to users in your system. Correlation ID does not have to be unique.
  - `isInteractive` boolean — For a provider that supports real time credential validation, you can create a credential with interactive set as true to receive feedback if the credential is valid or invalid.
  - `password` string — A sensitive input required to access the customer's utility data. This will not be returned in any GET calls for the request object.
  - `password2` string — Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.
  - `password3` string — Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.
  - `password4` string — Optional sensitive input required by some providers to access data. The provider object will denote which fields are required for each provider. Like password, this value will not be returned in any GET calls for the request object.
  - `privacyPolicyUrl` string — The URL to access the privacy policy you would like to use.
  - `providerId` string, required — The unique identifier of the utility service provider.
  - `termsOfServiceUrl` string — The URL for the terms of service you want to use.
  - `username` string — A login input required to access the customer's utility data.
  - `username2` string — Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider
  - `username3` string — Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider
  - `username4` string — Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider
  - `website` string — The provider's website that this credential logs into.

## Response `200`

OK

- PublicCredentialResource
  - `alternateAccesses` PublicAlternateAccessResource[], required — List of alternate access methods (such as guest access) configured for this credential.
    - `id` string, required — A unique identifier for the alternate access record.
    - `isActive` boolean, required — Indicates whether this alternate access method is currently active.
    - `lastSuccessfulRefreshAt` string, date-time, nullable, required — The timestamp indicating when this alternate access method was last successfully refreshed.
    - `status` 'CONNECTION_SUCCESS' | 'CONNECTION_IN_PROGRESS' | 'CONNECTION_FAILURE' | 'CONNECTION_DEACTIVATED' | 'ALTERNATE_ACCESS', required — A high-level status for this alternate access method. See [this](https://docs.arcadia.com/docs/status-and-status-detail-definitions#credentials) table for more information.
    - `statusDetail` 'LOGIN_AND_DATA_DISCOVERY_SUCCESS' | 'LOGIN_AND_INTERVALS_DISCOVERY_SUCCESS' | 'LOGIN_SUCCESS_INTERVALS_DISCOVERY_FAILURE' | 'PROVIDER_WEBSITE_INACCESSIBLE' | 'ACCOUNT_TEMPORARILY_LOCKED' | 'ISSUE_UNDER_REVIEW' | 'PROVIDER_WEBSITE_NAVIGATION_FAILURE' | 'UNSUPPORTED_CAPTCHA' | 'INVALID_CREDENTIALS' | 'MULTI_FACTOR_AUTHENTICATION_FAILURE' | 'UNSUPPORTED_MULTI_FACTOR_AUTHENTICATION' | 'MULTI_FACTOR_AUTHENTICATION_TIMEOUT' | 'MULTI_FACTOR_AUTHENTICATION_REFRESH_REQUIRED' | 'OTHER_ACCESS_LIMITATION' | 'DATA_EXTRACTION_IN_PROGRESS' | 'REQUIRES_ENROLLMENT' | 'EMAIL_APPROVAL' | 'UNSUCCESSFUL_EMAIL_APPROVAL' | 'USER_REVOKED_ACCESS' | 'PROVIDER_REGISTRATION_INCOMPLETE' | 'GUEST_ACCESS_SYNC_INCOMPLETE' | 'GUEST_ACCESS_CONFIGURATION_IN_PROGRESS' | 'GUEST_ACCESS_CONFIGURATION_FAILURE' | 'GUEST_ACCESS_NOT_SUPPORTED' | 'GUEST_ACCESS_REMOVED' | 'DATA_EXTRACTION_NOT_REQUESTED', required — A detailed status for this alternate access method. See [this](https://docs.arcadia.com/docs/status-and-status-detail-definitions#credentials) table for more information.
    - `type` 'GUEST_ACCESS', required — The type of alternate access method.
  - `connectionHealth` 'CONNECTION_SUCCESS' | 'CONNECTION_IN_PROGRESS' | 'CONNECTION_FAILURE' | 'CONNECTION_DEACTIVATED', required — A high-level connection health status that reflects the best outcome across the credential and all configured alternate access methods.
  - `correlationId` string, nullable, required — A string value you can set to help you reconcile with your internal systems.
  - `createdAt` string, date-time, required — A timestamp indicating when the entity was created.
  - `createdBy` string, required — User or system responsible for creating the entity.
  - `customerGivenWebsite` string, nullable, required — The website provided by the customer when creating this credential.
  - `id` string, required — A unique identifier for the entity.
  - `isAccessible` boolean, required — Indicates whether Arcadia is potentially able to successfully log into the Credential.
  - `isActive` boolean, required — Indicates whether the Credential is active for applicable products.
  - `isCustomerActionRequired` boolean, required — Indicates whether any action is required from you regarding this resource.
  - `isThirdPartyPortal` boolean, required — Indicates whether the account requires to be accessed through a third-party portal or platform.
  - `lastModifiedAt` string, date-time, required — The timestamp indicating when this resource was last modified.
  - `lastModifiedBy` string, required — The user or system that last modified this resource.
  - `lastSuccessfulMultiFactorAuthenticationOptOutAt` string, date-time, nullable, required — The timestamp indicating when this Credential was last successfully opted out of Multi Factor Authentication.
  - `multiFactorAuthenticationOptOutStatus` 'SUCCESS' | 'FAILURE' | 'IN_PROGRESS', nullable, required — The status of Multi Factor Authentication Opt Out for the Credential.
  - `nextScheduledAccountRunAt` string, date-time, required — The scheduled time for the next automated credential job.
  - `provider` PublicProviderResource, nullable, required — The entity providing service and issuing bills (informally known as a utility).
    - `country` string, nullable, required — The country associated with the billing address.
    - `id` string, required — A unique identifier for the entity.
    - `intervalServiceTypes` string[], required — List of interval service types supported by this provider (e.g., ['electric', 'gas'])
    - `isIntervalDataSupported` boolean, nullable, required — Indicates whether the provider supports interval data
    - `isIntervalFileUploadSupported` boolean, nullable, required — Indicates whether the provider supports interval file upload
    - `isRealTimeCredentialValidationSupported` boolean, required — Indicates whether the provider supports credential validation
    - `name` string, nullable, required — The name of the utility service provider.
  - `status` 'CONNECTION_SUCCESS' | 'CONNECTION_IN_PROGRESS' | 'CONNECTION_FAILURE' | 'CONNECTION_DEACTIVATED' | 'ALTERNATE_ACCESS', required — A high-level status for this credential. See [this](https://docs.arcadia.com/docs/status-and-status-detail-definitions#credentials) table for more information.
  - `statusDetail` 'LOGIN_AND_DATA_DISCOVERY_SUCCESS' | 'LOGIN_AND_INTERVALS_DISCOVERY_SUCCESS' | 'LOGIN_SUCCESS_INTERVALS_DISCOVERY_FAILURE' | 'PROVIDER_WEBSITE_INACCESSIBLE' | 'ACCOUNT_TEMPORARILY_LOCKED' | 'ISSUE_UNDER_REVIEW' | 'PROVIDER_WEBSITE_NAVIGATION_FAILURE' | 'UNSUPPORTED_CAPTCHA' | 'INVALID_CREDENTIALS' | 'MULTI_FACTOR_AUTHENTICATION_FAILURE' | 'UNSUPPORTED_MULTI_FACTOR_AUTHENTICATION' | 'MULTI_FACTOR_AUTHENTICATION_TIMEOUT' | 'MULTI_FACTOR_AUTHENTICATION_REFRESH_REQUIRED' | 'OTHER_ACCESS_LIMITATION' | 'DATA_EXTRACTION_IN_PROGRESS' | 'REQUIRES_ENROLLMENT' | 'EMAIL_APPROVAL' | 'UNSUCCESSFUL_EMAIL_APPROVAL' | 'USER_REVOKED_ACCESS' | 'PROVIDER_REGISTRATION_INCOMPLETE' | 'GUEST_ACCESS_SYNC_INCOMPLETE' | 'GUEST_ACCESS_CONFIGURATION_IN_PROGRESS' | 'GUEST_ACCESS_CONFIGURATION_FAILURE' | 'GUEST_ACCESS_NOT_SUPPORTED' | 'GUEST_ACCESS_REMOVED' | 'DATA_EXTRACTION_NOT_REQUESTED', required — A detailed status for this credential. See [this](https://docs.arcadia.com/docs/status-and-status-detail-definitions#credentials) table for more information.
  - `totalAccounts` integer, required — The total number of accounts.
  - `username` string, required — A login input required to access the customer's utility data
  - `username2` string, nullable, required — Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider
  - `username3` string, nullable, required — Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider
  - `username4` string, nullable, required — Optional parameters required by some providers to access data. The provider object will denote which fields are required for each provider
  - `website` string, nullable, required — The provider's website that this credential logs into.

---

[API](https://skmtc.net/arcadia/apis/plug-api.md) · [All operations](https://skmtc.net/arcadia/apis/plug-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/arcadia/plug-api/versions/d00587742116/schema)
