Arcadia Users API
The Users API from Arcadia — 2 operation(s) for users.
The Users API from Arcadia — 2 operation(s) for users.
openapi: 3.0.3
info:
title: Arcadia API Reference Auth Users API
version: 0.3.0
contact:
email: platformsupport@arcadia.com
servers:
- url: https://api.arcadia.com
security:
- bearerAuth: []
tags:
- name: Users
paths:
/users:
get:
tags:
- Users
summary: List Users
description: Returns a paginated list of Users. Default ordered by descending `updated_at`.
operationId: getUsers
parameters:
- $ref: '#/components/parameters/paginationLimitParam'
- $ref: '#/components/parameters/paginationUpdatedAfterParam'
- $ref: '#/components/parameters/paginationUpdatedBeforeParam'
- $ref: '#/components/parameters/paginationOrderParam'
- $ref: '#/components/parameters/arcVersionInHeaderParam'
responses:
'200':
description: Success
headers:
Arcadia-Version:
$ref: '#/components/headers/ArcVersion'
content:
application/json:
schema:
$ref: '#/components/schemas/PaginatedUsers'
/users/{client_user_id}:
get:
tags:
- Users
summary: Get User
description: Get a single User associated with a `client_user_id`
operationId: getUser
parameters:
- $ref: '#/components/parameters/clientUserIdInPathParam'
- $ref: '#/components/parameters/arcVersionInHeaderParam'
responses:
'200':
description: Success
headers:
Arcadia-Version:
$ref: '#/components/headers/ArcVersion'
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'403':
description: Forbidden
headers:
Arcadia-Version:
$ref: '#/components/headers/ArcVersion'
content:
application/json:
schema:
$ref: '#/components/schemas/UserDataExceedsLimitsError'
'404':
description: Not Found
headers:
Arcadia-Version:
$ref: '#/components/headers/ArcVersion'
content:
application/json:
schema:
$ref: '#/components/schemas/UserNotFoundError'
delete:
tags:
- Users
summary: Delete User
description: Delete all data associated with a `client_user_id`. Note that the actual delete happens asynchronously, so data for this User may still be available through the API for a few minutes after a delete request is made.
operationId: deleteUser
parameters:
- $ref: '#/components/parameters/clientUserIdInPathParam'
- $ref: '#/components/parameters/arcVersionInHeaderParam'
responses:
'204':
description: No Content
headers:
Arcadia-Version:
$ref: '#/components/headers/ArcVersion'
'404':
description: Not Found
headers:
Arcadia-Version:
$ref: '#/components/headers/ArcVersion'
content:
application/json:
schema:
$ref: '#/components/schemas/UserNotFoundError'
'422':
description: Unprocessable Entity
headers:
Arcadia-Version:
$ref: '#/components/headers/ArcVersion'
content:
application/json:
schema:
$ref: '#/components/schemas/DeleteUserError'
components:
schemas:
DeleteUserError:
required:
- error
properties:
error:
type: object
required:
- description
- type
- details
properties:
description:
type: string
enum:
- Cannot delete a User who is pending_enrollment, enrolled, or pending unenrollment in a Bundle Product
type:
type: string
enum:
- BAD_REQUEST
details:
type: object
nullable: true
additionalProperties: false
FeatureAvailability:
required:
- charge_cost
- hosted_payments
- utility_remittance
- smart_charge
- utility_intervals
- utility_statements
properties:
charge_cost:
$ref: '#/components/schemas/Availability'
smart_charge:
$ref: '#/components/schemas/Availability'
utility_intervals:
$ref: '#/components/schemas/Availability'
utility_statements:
$ref: '#/components/schemas/Availability'
hosted_payments:
$ref: '#/components/schemas/Availability'
utility_remittance:
$ref: '#/components/schemas/Availability'
additionalProperties: false
PaginatedUsers:
required:
- data
- total_count
properties:
data:
type: array
items:
type: object
required:
- client_user_id
- created_at
- updated_at
properties:
client_user_id:
type: string
example: fff57dc7-3a2b-4395-8a62-e3712d46dafl
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
total_count:
type: integer
example: 1
additionalProperties: false
Tariff:
description: Information about a tariff.
required:
- main_tariff_id
- tariff_code
- tariff_name
- utility_name
properties:
main_tariff_id:
type: string
description: The Genability 'masterTariffId' unique identifier for this tariff. See [Genability documentation](https://developer.genability.com/api-reference/tariff-api/tariff/) for details.
example: gen_mtid_3331108
property_inputs:
description: Properties applied to this tariff which may affect the calculated cost of electricity.
type: array
items:
type: object
required:
- id
- value
properties:
id:
type: string
example: territoryId
value:
type: boolean
example: 3
supplier_name:
description: The name of the retail electricity supplier or the community choice aggregator. If there is no retail electricity supplier or community choice aggregator, this field is null.
example: East Bay Community Energy
type: string
nullable: true
tariff_code:
type: string
description: Abbreviation code of the tariff used for this calculation.
example: EV-2A-TOU
tariff_name:
type: string
description: Full name of the tariff used for this calculation.
example: Residential - Time of Use - Plug-In Electric Vehicle 2
utility_name:
type: string
description: Name of the utility associated with this tariff
example: Pacific Gas & Electric
UtilityCredential:
required:
- created_at
- id
- updated_at
- client_user_id
- username
- utility_name
- utility_long_name
- verification_status
- accounts_load_in_progress
- verification_updated_at
- sandboxed
- uses_test_scenario
properties:
id:
type: integer
example: 12345
client_user_id:
type: string
example: fff57dc7-3a2b-4395-8a62-e3486d46dabe
utility_name:
type: string
example: AEP SWEPCO
description: The list of supported Arcadia utilities can be found [here](https://arc.arcadia.com/coverage?first=25&page=1).
utility_long_name:
type: string
example: AEP SWEPCO AR
description: Provides greater detail than `utility_name`. The list of supported Arcadia utilities can be found [here](https://arc.arcadia.com/coverage?first=25&page=1).
username:
type: string
example: great_customer
nullable: true
verification_status:
type: string
enum:
- pending
- verified
- rejected
- error
description: 'The verification status of the Utility Credential.
* `pending`: Credential verification is pending
* `verified`: The credentials were found to be correct
* `rejected`: The credentials were found to be incorrect
* `error`: There was an error attempting to verify the credentials. This status _may_ be transient, as Arcadia will continue to retry verification in the background.
'
accounts_load_in_progress:
type: boolean
example: false
description: 'Indicates if Arcadia is in the process of verifying a utility credential or loading associated utility accounts. The combination of `verification_status: verified` and `account_load_in_progress: false` will indicate that utility accounts are available in the API. Alternatively, the `utility_accounts_discovered` webhook will alert you when utility accounts are available in the API.'
verification_updated_at:
format: date-time
type: string
nullable: true
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
sandboxed:
type: boolean
example: false
uses_test_scenario:
type: boolean
example: false
description: Indicates if the utility credential was created using a designated test username and password.
UserNotFoundError:
required:
- error
properties:
error:
type: string
enum:
- Couldn't find User
additionalProperties: false
UtilityMeter:
required:
- id
- client_user_id
- utility_credential_id
- utility_account_id
- meter_number
- service_type
- created_at
- updated_at
- sandboxed
properties:
id:
type: integer
example: 12345
client_user_id:
type: string
example: fff57dc7-3a2b-4395-8a62-e3486d46dabe
utility_credential_id:
type: integer
example: 54321
utility_account_id:
type: integer
example: 65432
meter_number:
type: string
example: 12300000045 67
service_type:
type: string
enum:
- electric
- gas
- water
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
sandboxed:
type: boolean
example: false
additionalProperties: false
UtilityAccount:
required:
- id
- client_user_id
- utility_name
- utility_long_name
- utility_credential_id
- account_number
- service_address_city
- service_address_state
- service_address_street_one
- service_address_street_two
- service_address_zip
- service_customer_name
- status
- supplier_account_id
- most_recent_tariff
- flags
- services
- created_at
- updated_at
- feature_availability
- utility_meters
- sandboxed
properties:
id:
type: integer
example: 12345
client_user_id:
type: string
example: fff57dc7-3a2b-4395-8a62-e3486d46dabe
utility_name:
type: string
example: AEP SWEPCO
description: The list of supported Arcadia utilities can be found [here](https://arc.arcadia.com/coverage?first=25&page=1).
utility_long_name:
type: string
example: AEP SWEPCO AR
description: Provides greater detail than `utility_name`. The list of supported Arcadia utilities can be found [here](https://arc.arcadia.com/coverage?first=25&page=1).
utility_credential_id:
type: integer
example: 54321
account_number:
type: string
example: '7626177069'
description: The account number used by the utility to identify this UtilityAccount
nullable: true
service_address_street_one:
example: 1060 W Addison
type: string
nullable: true
service_address_street_two:
example: Apartment 1
type: string
nullable: true
service_address_city:
example: Chicago
type: string
nullable: true
service_address_state:
example: IL
type: string
nullable: true
service_address_zip:
example: '60613'
type: string
nullable: true
service_customer_name:
example: Joan Arcadia
type: string
nullable: true
supplier_account_id:
example: '123456789'
description: 'Utility specific account identifier for energy suppliers.
'
type: string
nullable: true
status:
anyOf:
- type: 'null'
- type: string
enum:
- active
- closed
- incomplete
- locked
- unknown
most_recent_tariff:
anyOf:
- type: 'null'
- $ref: '#/components/schemas/MostRecentTariff'
flags:
type: array
items:
type: string
enum:
- utility_statement_past_due
services:
type: array
items:
type: string
enum:
- electric
- gas
- water
created_at:
type: string
format: date-time
updated_at:
type: string
format: date-time
feature_availability:
$ref: '#/components/schemas/FeatureAvailability'
utility_meters:
type: array
items:
$ref: '#/components/schemas/UtilityMeter'
sandboxed:
type: boolean
example: false
additionalProperties: false
UserDataExceedsLimitsError:
required:
- error
properties:
error:
type: object
required:
- description
- type
- details
properties:
description:
type: string
type:
type: string
enum:
- BAD_REQUEST
details:
type: object
nullable: true
additionalProperties: false
User:
required:
- client_user_id
- created_at
- utility_credentials
properties:
client_user_id:
type: string
example: fff57dc7-3a2b-4395-8a62-e3712d46dafl
created_at:
type: string
format: date-time
utility_credentials:
type: array
items:
allOf:
- $ref: '#/components/schemas/UtilityCredential'
- type: object
required:
- utility_accounts
properties:
utility_accounts:
type: array
items:
$ref: '#/components/schemas/UtilityAccount'
MostRecentTariff:
allOf:
- $ref: '#/components/schemas/Tariff'
- description: The most recent Tariff seen on this utility account.
required:
- tariff_as_of_date
properties:
tariff_as_of_date:
type: string
format: date
description: The statement date of the utility statement that reported use of this tariff.
example: '2021-03-01'
nullable: true
Availability:
type: string
enum:
- AVAILABLE
- NOT_AVAILABLE
- NOT_READY
parameters:
paginationLimitParam:
in: query
name: limit
required: false
schema:
type: integer
minimum: 1
default: 10
paginationOrderParam:
in: query
name: order
required: false
description: Used to specify the order in which records should be returned. Currently ordered by `updated_at` timestamp.
schema:
type: string
enum:
- asc
- desc
default: desc
clientUserIdInPathParam:
name: client_user_id
in: path
required: true
schema:
type: string
arcVersionInHeaderParam:
name: Arcadia-Version
in: header
example: '2022-10-13'
description: The Arcadia-Version for the request
required: true
schema:
type: string
default: '2022-10-13'
paginationUpdatedBeforeParam:
in: query
name: updated_before
required: false
description: ISO8601 datetime, used to traverse paginated responses. Use of this parameter is mutually exclusive with `updated_after`.
schema:
type: string
format: date-time
paginationUpdatedAfterParam:
in: query
name: updated_after
required: false
description: ISO8601 datetime, used to traverse paginated responses. Use of this parameter is mutually exclusive with `updated_before`.
schema:
type: string
format: date-time
headers:
ArcVersion:
description: The Arcadia-Version for the response
schema:
type: string
example: '2022-10-13'
required: true
securitySchemes:
bearerAuth:
type: http
scheme: bearer
x-readme:
proxy-enabled: false
headers:
- key: from-readme
value: true
x-tagGroups:
- name: General
tags:
- Auth
- Webhooks
- Webhook Events
- name: Connections
tags:
- Utility Credentials
- Utility Accounts
- Utility Meters (Beta)
- Users
- name: Products
tags:
- Plug
- Spark