openapi: 3.2.0 info: title: Kraken Accounts API version: v1 servers: - url: https://api.edfgb-kraken.energy/v1/ description: Base URL declared by the provider in apis.yml (roadmap#122). tags: - name: Accounts paths: /v1/accounts/: post: operationId: CreateAnAccount description: 'WARNING: This endpoint is only available to partner organisations.' tags: - Accounts requestBody: content: application/json: schema: $ref: '#/components/schemas/Create' examples: CreateAccountPayload: value: reference: 12067-056785 sold_at: '2017-07-28T14:30:00+01:00' account_type: DOMESTIC source: INTERNET is_change_of_tenancy: false referral_code: some-referral-123 quote_code: 1981fd3936cc4cfda70b2e697347b885 affiliate: {} payment: method: MONTHLY_DIRECT_DEBIT account_name: Chris Johnson account_number: '12345678' account_sort_code: '111111' payment_day: 1 billing_address: address_line_1: 87 Doveys Close address_line_2: '' address_line_3: '' town: Ringwood county: '' postcode: BH24 4BP users: - title: Dr given_name: Chris family_name: Johnson date_of_birth: '1966-01-01' email: chris@example.com mobile: 07742628216 landline: 02084459876 opted_in_for_marketing: false opted_in_to_third_parties: false psr: requires_signup: false electricity_meter_points: - tariff_code: E-1R-VAR-17-01-11-A quote: annual_payment: 46576 consumption_standard: 3100 mpan: '2000024512368' address: address_line_1: 87 Doveys Close address_line_2: '' address_line_3: '' town: Ringwood county: '' postcode: BH24 4BP meter_type: CREDIT has_smart_meter: false current_supplier_name: SUP current_supplier_tariff: SUP-123 gas_meter_points: - tariff_code: G-1R-VAR-17-01-11-A mprn: '3016362107' consumption_standard: 12500 quote: annual_payment: 44961 metadata: - key: metadata_key value: melo: 10284 some_data: some_value summary: Create account payload CreateBusinessAccountPayload: value: account_type: BUSINESS business: name: Acme Corporation Limited number: 09263424 business_type: LIMITED is_ccl_exempt: false is_vat_exempt: false head_count: 25 annual_turnover: 575000 electricity_meter_points: - unit_rate_uplift: '0.5' bespoke_tariff_rates: standing_charge: '13.25' unit_rates: - unit_rate: '12.6' rate_type: STANDARD gas_meter_points: - unit_rate_uplift: '0.5' bespoke_tariff_rates: standing_charge: '13.25' unit_rate: '3.25' summary: Create business account payload required: true security: - KeyAuthentication: [] - DRFKrakenTokenAuthentication: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/SuccessResponse' examples: AccountCreated: value: number: A-12341234 summary: Account created AccountAndUserAreCreated.: value: number: A-12341234 password_reset: user_id: user_pk_b64_encoded token: cmlx6w-1232911237f5d13422c154c07 summary: Account and user are created. description: Account successfully created '202': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: ErrorDuringAccountCreation,InvestigationNeeded: value: detail: We are unable to create an account, however the error will be investigated internally. summary: Error during account creation, investigation needed description: The submission has incurred an error, but requires further investigation from a member of our team in order to complete the request. '400': content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' examples: ValidationErrors: value: detail: References already exist summary: Validation errors description: The submissions incurred validation errors that cannot be fixed by a member of our team. This may occur if the provided reference is a duplicate and the existing enrolment has not previously been rejected. summary: Create an account x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Create an account /v1/accounts/{account_number}/tariff-renewal/: post: operationId: RenewABusinessTariff description: 'This end-point allows a new agreement to be created for an existing account. It is restricted to business accounts. WARNING: This endpoint is only available to partner organisations.' parameters: - in: path name: account_number schema: type: string description: Number of the account required: true tags: - Accounts requestBody: content: application/json: schema: $ref: '#/components/schemas/BusinessTariffRenewal' examples: RenewBusinessTariffPayload: value: agreements: - mpxn: '1013004420117' tariff_code: E-1R-SOME-PRODUCT-J valid_from_date: '2019-12-01' valid_to_date: '2020-12-01' bespoke_tariff_rates: - meter_serial_number: Z16N389556 standing_charge: 3.25 registers: - register_identifier: '1' unit_rate: 15.6 commission: affiliate_organisation_name: Some Partner unit_rate_uplift: '1.00' - mpxn: '9113681703' tariff_code: G-1R-SOME-PRODUCT-J valid_from_date: '2019-12-01' valid_to_date: '2020-12-01' bespoke_tariff_rates: - meter_serial_number: GA1244364577 standing_charge: 3.25 unit_rate: 15.6 commission: affiliate_organisation_name: Some Partner unit_rate_uplift: '1.00' summary: Renew business tariff payload required: true security: - KeyAuthentication: [] - DRFKrakenTokenAuthentication: [] responses: '201': content: application/json: schema: $ref: '#/components/schemas/AgreementsCreated' examples: BusinessTariffRenewalCreated: value: account_number: A-12AB34CD agreements: - mpxn: '1013004420117' tariff_code: E-1R-SOME-PRODUCT-J valid_from_date: '2019-12-01' valid_to_date: '2020-12-01' summary: Business tariff renewal created description: Agreement(s) successfully created '400': content: application/json: schema: $ref: '#/components/schemas/ValidationOrDomainError' examples: ValidationErrors: value: errors: - Account is not a business account. summary: Validation errors description: Could not create agreement due to domain or validation errors. '404': description: The account does not exist. '401': description: Incorrect authentication. '403': description: The user does not have sufficient permissions for this action. '500': description: Intermittent internal error. If it persists, please get in touch with the support team. summary: Renew a business tariff x-summary-source: derived x-operation-id-source: normalized x-operation-id-original: Renew a business tariff components: schemas: Business: type: object properties: name: type: string title: The name of the business. maxLength: 255 number: type: string title: The registered number of the business. description: This field is required for 'LIMITED' businesses.

maxLength: 8 business_type: enum: - SOLE_TRADER - LIMITED - CHARITY - PARTNERSHIP - GOVERNMENT type: string description: '* `SOLE_TRADER` - SOLE_TRADER * `LIMITED` - LIMITED * `CHARITY` - CHARITY * `PARTNERSHIP` - PARTNERSHIP * `GOVERNMENT` - GOVERNMENT' x-spec-enum-id: 6d21c7807a449a8a is_ccl_exempt: type: boolean title: Whether the business is exempt from paying CCL (Climate Change Levy). is_vat_exempt: type: boolean title: Whether the business is exempt from paying VAT. head_count: type: integer minimum: 0 title: The head count of the business, i.e. number of staff. annual_turnover: type: integer minimum: 0 title: The estimated annual turnover description: In pounds £ (GBP) credit_reference_id: type: string title: ID used by the Credit Reference Agency to identify business. description: Required for unlimited liablity companies (e.g. 'SOLE_TRADER', 'PARTNERSHIP', 'CHARITY') maxLength: 10 phone_number: type: string title: Main phone number for the business. proprietor: allOf: - $ref: '#/components/schemas/Proprietor' title: Details of a business owner. description: Required for credit checking unlimited liability businesses. required: - business_type - is_ccl_exempt - is_vat_exempt - name ErrorResponse: type: object properties: detail: type: string required: - detail PSR: type: object properties: requires_signup: type: boolean description: If true, indicates that the user should be signed up to the PSR but the categories are unknown. Therefore the user requires contacting to determine the categories. Affiliate: type: object description: 'This serializer is used to allow affiliates to pass a signup reward code when creating accounts which later will then give credit to the accounts once their payments start.' properties: signup_reward_code: type: string default: '' title: The code of an existing signup reward referral scheme that will be used for giving credit to the created account as a signup reward. maxLength: 255 organization_name: type: string title: The name of an existing organization that will be used to create an account for an affiliate. maxLength: 128 affiliate_link_subdomain: type: string maxLength: 64 BusinessTariffRenewal: type: object properties: agreements: type: array items: $ref: '#/components/schemas/_Agreement' title: List of all agreements to be created to the given account. required: - agreements ElectricityMeterPoint: type: object properties: tariff_code: type: string title: The tariff code as stored by the supplier. description: Must match an available tariff on the 'sold_at' datetime for the authenticating partner. Required if no 'quote_request_code' is supplied. maxLength: 255 quoted_product_id: type: integer description: The ID of the market supply quoted product returned by the 'QuoteNewMeterPoints' or 'QuoteNewMeterPointsOnBespokeProducts' mutation which was selected by the customer for this meter point. Required if a 'quote_request_code' is supplied. address: $ref: '#/components/schemas/Address' current_supplier_name: type: string maxLength: 255 current_supplier_tariff: type: string maxLength: 255 has_smart_meter: type: boolean title: Whether a smart meter is installed. The default is 'false'. consumption_standard: type: integer maximum: 500000 minimum: 1 title: The expected annual consumption for the standard register in kWh. description: Required if standard tariff. unit_rate_uplift: type: string format: decimal pattern: ^-?\d{0,4}(?:\.\d{0,3})?$ title: The amount to be added to the unit rate as commission (a string, pence per kWh). standing_charge_uplift: type: string format: decimal pattern: ^-?\d{0,4}(?:\.\d{0,3})?$ title: The amount to be added to the standing charge as commission (a string, pence per day). fixed_tpi_fee: type: integer minimum: 0 quote: $ref: '#/components/schemas/Quote' bespoke_tariff_rates: allOf: - $ref: '#/components/schemas/BespokeTariffRates' title: A json object containing bespoke tariff rates, if applicable. description: Cannot be used in conjunction with 'bespoke_pps_tariff_rates'. bespoke_pps_tariff_rates: type: array items: $ref: '#/components/schemas/BespokePPSTariffRates' description: 'If applicable, must contain two objects: one for direct debit bespoke and another for non-direct debit bespoke rates. Cannot be used in conjunction with ''bespoke_tariff_rates''.' maxItems: 2 minItems: 0 meter_type: enum: - CREDIT - PREPAYMENT type: string x-spec-enum-id: ebae2e9cf73bc01e default: CREDIT description: 'The default is ''CREDIT'', which represents any kind of traditional credit meter or smart meter. This field is mandatory for traditional prepay meters, for which the value ''PREPAYMENT'' should be used. * `CREDIT` - CREDIT * `PREPAYMENT` - PREPAYMENT' preferred_ssd: type: string format: date mpan: type: string title: The meter-point identifier. maxLength: 13 is_half_hourly: type: boolean title: Whether the meter point should be enrolled as a half hourly meter point description: Required to start the CoS Gain correctly for half hourly customers. consumption_day: type: integer maximum: 500000 minimum: 1 title: The expected annual consumption for the day/peak register in kWh. description: Required if eco7 or three-rate tariff. consumption_night: type: integer maximum: 500000 minimum: 0 title: The expected annual consumption for the night/off-peak register in kWh. description: Required if eco7 or three-rate tariff. consumption_off_peak: type: integer maximum: 500000 minimum: 0 title: The expected annual consumption for the additional off-peak register in kWh. description: Required if three-rate tariff. export_details: allOf: - $ref: '#/components/schemas/ExportDetails' title: The generation details for the meter-point. required: - quote BillingOptions: type: object properties: period_start_day: type: integer maximum: 28 minimum: 1 default: 1 title: The day of the month for the billing period start. period_start_month: type: integer maximum: 12 minimum: 1 title: The month for the billing period start, for quarterly billing. period_length: type: integer maximum: 12 minimum: 1 default: 1 title: The length of the billing period in months. ExportDetails: type: object properties: import_mpan: type: string description: The import MPAN. maxLength: 13 site_contact_name: type: string description: The name of the site contact. site_contact_phone: type: string description: The phone number of the site contact. site_contact_email: type: string format: email description: The email address of the site contact. installations: type: array items: $ref: '#/components/schemas/Installation' Create: type: object description: Serializer to create an account via a REST API. properties: brand_code: enum: - EDF type: string x-spec-enum-id: 71c7567db249d28d default: EDF title: A code to specify the account should be for a particular brand. description: 'This is only required when creating an account in an instance with multiple brands and for which the requested brand is not the default brand of that instance. * `EDF` - EDF' reference: type: string title: A unique partner reference. description: The reference provided should be unique per switch. maxLength: 64 sold_at: type: string format: date-time title: A datetime of when the account sale was made. preferred_ssd: type: string format: date title: A preferred supply start date. description: Only include this field if the earliest possible supply startdate is not preferred. account_type: enum: - BUSINESS - DOMESTIC - BUSINESS OCCUPIER - OCCUPIER - MANAGED - PORTFOLIO LEAD - SYSTEM - BUSINESS VACANT - DOMESTIC VACANT - ANONYMISED - DOMESTIC THIRD PARTY BILLED - BUSINESS THIRD PARTY BILLED - SUPPLY POINT type: string description: '* `BUSINESS` - BUSINESS * `DOMESTIC` - DOMESTIC * `BUSINESS OCCUPIER` - BUSINESS OCCUPIER * `OCCUPIER` - OCCUPIER * `MANAGED` - MANAGED * `PORTFOLIO LEAD` - PORTFOLIO LEAD * `SYSTEM` - SYSTEM * `BUSINESS VACANT` - BUSINESS VACANT * `DOMESTIC VACANT` - DOMESTIC VACANT * `ANONYMISED` - ANONYMISED * `DOMESTIC THIRD PARTY BILLED` - DOMESTIC THIRD PARTY BILLED * `BUSINESS THIRD PARTY BILLED` - BUSINESS THIRD PARTY BILLED * `SUPPLY POINT` - SUPPLY POINT' x-spec-enum-id: 0deafe171433cacc source: enum: - CALL_CENTRE_INBOUND - CALL_CENTRE_OUTBOUND - INTERNET - FACE_TO_FACE type: string description: '* `CALL_CENTRE_INBOUND` - CALL_CENTRE_INBOUND * `CALL_CENTRE_OUTBOUND` - CALL_CENTRE_OUTBOUND * `INTERNET` - INTERNET * `FACE_TO_FACE` - FACE_TO_FACE' x-spec-enum-id: f89d0ee45e835d55 sales_channel: enum: - DIRECT - PRICE_COMPARISON - TELESALES - DIGI_TELESALES - EVENTS - FIELD_SALES - AGGREGATOR - PARTNERSHIPS - NEW_TENANT - MOVE_IN - WORKPLACE_POP_UP - BROKER - PARENT_POWER - PEOPLE_POWER - GIFT_OF_KIT - HIGH_REFERRER - SUPPLIER_OF_LAST_RESORT - ACQUISITION - WORKS_WITH_OCTOPUS - LANDLORD - DEBT_COLLECTION_AGENCY type: string description: '* `DIRECT` - Direct * `PRICE_COMPARISON` - Price comparison * `TELESALES` - Telesales * `DIGI_TELESALES` - Digital telesales * `EVENTS` - Events * `FIELD_SALES` - Field sales * `AGGREGATOR` - Aggregator * `PARTNERSHIPS` - Partnerships * `NEW_TENANT` - New tenant * `MOVE_IN` - Move in * `WORKPLACE_POP_UP` - Workplace pop-up * `BROKER` - Broker * `PARENT_POWER` - Parent power * `PEOPLE_POWER` - People power * `GIFT_OF_KIT` - Gift of kit * `HIGH_REFERRER` - High referrer * `SUPPLIER_OF_LAST_RESORT` - Supplier of last resort * `ACQUISITION` - Acquisition * `WORKS_WITH_OCTOPUS` - Works with octopus * `LANDLORD` - Landlord * `DEBT_COLLECTION_AGENCY` - Debt collection agency' x-spec-enum-id: f4ccf4dcda60c174 sales_subchannel: type: string title: An optional segmentation of the sales channel, e.g. the names of the specific price comparison site, or the telesales organisation. maxLength: 128 billing_address: $ref: '#/components/schemas/Address' users: type: array items: $ref: '#/components/schemas/User' affiliate: $ref: '#/components/schemas/Affiliate' metadata: type: array items: $ref: '#/components/schemas/Metadata' title: An array of key value pairs for storing generic metadata relating to an account. referral_code: type: string title: The referral code of an existing account linked to a Kraken referral scheme. maxLength: 256 signup_reward_code: type: string maxLength: 255 promo_reward_code: type: string title: A promotional code that will be applied to the account. maxLength: 255 account_reference: type: string title: A unique reference to previous external account number or similar account identifier. description: The account reference must be in NAMESPACE-VALUE format. maxLength: 128 is_change_of_tenancy: type: boolean title: Whether this account is a change of tenancy at the property. requires_postal_comms: type: boolean title: Communication delivery preference description: When requires_postal_comms is True, then set to POSTAL, else set to EMAIL, when not provided it will be null. smart_meter_read_permission: enum: - MONTHLY - DAILY - HALF_HOURLY type: string description: '* `MONTHLY` - Monthly * `DAILY` - Daily * `HALF_HOURLY` - Half-hourly' x-spec-enum-id: 54335bb3dfc317b6 title: The read permission frequency the occupier grants to meter readings from smart meters. smart_meter_interest: enum: - SMETS2_INTEREST_PRIORITY - SMETS2_INTEREST_INTERESTED - SMETS2_INTEREST_NOT_AT_THE_MOMENT - SMETS2_INTEREST_NOT_INTERESTED type: string description: '* `SMETS2_INTEREST_PRIORITY` - Priority * `SMETS2_INTEREST_INTERESTED` - Interested * `SMETS2_INTEREST_NOT_AT_THE_MOMENT` - No interest at the moment, ask again later * `SMETS2_INTEREST_NOT_INTERESTED` - Not Interested' x-spec-enum-id: 70feaed848f8fe65 title: The occupier’s interest in installing a smart meter. business: $ref: '#/components/schemas/Business' payment: allOf: - $ref: '#/components/schemas/Payment' description: The payment details are required when using the method 'MONTHLY_DIRECT_DEBIT' but are optional if all the meters are of type PREPAYMENT'. The 'MONTHLY_DIRECT_PAYMENT' method is not available to all users. deposit: $ref: '#/components/schemas/Deposit' electricity_meter_points: type: array items: $ref: '#/components/schemas/ElectricityMeterPoint' description: At least one electricity or gas meter-point must be included. A maximum of two electricity and one gas meter-point can be included. All meter-points must be based in the Great Britain. All meter-points must belong to the same address. For an electricity meter-point, at least one of 'mpan' or 'address' must be included. At least one of 'consumption_standard' (standard tariff) or a combination of 'consumption_day' and 'consumption_night' (two-rate tariff) or 'consumption_day', 'consumption_night' and 'consumption_off_peak' (three-rate tariff) must be included depending on the type of tariff specified. gas_meter_points: type: array items: $ref: '#/components/schemas/GasMeterPoint' description: At least one electricity or gas meter-point must be included. A maximum of two electricity and one gas meter-point can be included. All meter-points must be based in the Great Britain. All meter-points must belong to the same address. For a gas meter-point, at least one of 'mprn' or 'address' must be included, as well as 'consumption_standard'. quote_code: type: string description: 'The code of an existing legacy quote created using the legacy ''CreatQuote'' mutation as part of the join supplier journey for this new customer. If the quote was generated as part of an affiliate session, the affiliate link and any query parameters belonging to the session will be associated with the created account. Note: only one of ''quote_code'' and ''quote_request_code'' should be provided in the input.' quote_request_code: type: string description: 'The code of an existing quote created using the ''QuoteNewMeterPoints'' mutation as part of the join supplier journey for this new customer. If the quote was generated as part of an affiliate session, the affiliate link and any query parameters belonging to the session will be associated with the created account. Note: only one of ''quote_code'' and ''quote_request_code'' should be provided in the input.' billing_options: allOf: - $ref: '#/components/schemas/BillingOptions' description: Billing options for the account. required: - account_type - billing_address - is_change_of_tenancy - reference - source - users Agreement: type: object properties: mpxn: type: string title: MPRN or MPAN of the meter point getting a new agreement. tariff_code: type: string title: Tariff code for the new agreements. valid_from_date: type: string format: date title: Date (inclusive) the new agreement is valid from. valid_to_date: type: string format: date title: Date (exclusive) the new agreement is valid to. required: - mpxn - tariff_code - valid_from_date ValidationOrDomainError: type: object properties: errors: type: array items: type: string required: - errors Payment: type: object properties: method: enum: - MONTHLY_DIRECT_DEBIT - MONTHLY_DIRECT_PAYMENT - BILL_TRIGGERED_DIRECT_DEBIT type: string description: '* `MONTHLY_DIRECT_DEBIT` - Monthly Direct Debit * `MONTHLY_DIRECT_PAYMENT` - POROB schedule, payment initiated by the customer * `BILL_TRIGGERED_DIRECT_DEBIT` - POROB Direct Debit Schedule' x-spec-enum-id: fb7b2e7b4cccfd02 account_name: type: string title: The name associated with the bank account. maxLength: 255 minLength: 3 account_number: type: string title: The bank account number. account_sort_code: type: string title: The bank account sort code. payment_day: type: integer maximum: 28 minimum: 1 title: The preferred day of the month for the payment request. description: Only required for 'MONTHLY_DIRECT_DEBIT' schedules. delay_days: type: integer maximum: 90 minimum: 5 title: The number of days to delay the payment for a bill triggered schedule. required: - method User: type: object properties: title: type: string maxLength: 255 given_name: type: string maxLength: 255 family_name: type: string maxLength: 255 date_of_birth: type: string format: date label: type: string maxLength: 255 email: type: string format: email description: Cannot already be in use for an existing account. maxLength: 512 mobile: type: string maxLength: 64 landline: type: string maxLength: 64 opted_in_for_marketing: type: boolean opted_in_to_third_parties: type: boolean default: false psr: allOf: - $ref: '#/components/schemas/PSR' title: Priority Services Register details for the user credit_score_data: $ref: '#/components/schemas/CreditScoreData' required: - email - family_name - given_name - opted_in_for_marketing _Commission: type: object properties: unit_rate_uplift: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,3})?$ title: Uplift in pence to be paid to the affiliate. standing_charge_uplift: type: string format: decimal pattern: ^-?\d{0,10}(?:\.\d{0,3})?$ title: Uplift in pence to be paid to the affiliate. fixed_tpi_fee: type: integer minimum: 0 affiliate_organisation_name: type: string title: Name of the affiliate organisation due the commission for this agreement. maxLength: 128 affiliate_link_subdomain: type: string title: Sub-domain of the affiliate link due the commission for this agreement. maxLength: 64 required: - affiliate_organisation_name - unit_rate_uplift ProprietorAddress: type: object properties: line_1: type: string title: First line of address. line_2: type: string title: Second line of address. line_3: type: string title: Third line of address. line_4: type: string title: Fourth line of address. line_5: type: string title: Fifth line of address. postcode: type: string title: Postcode of the address. required: - line_1 - postcode Address: type: object properties: address_line_1: type: string maxLength: 512 address_line_2: type: string maxLength: 512 address_line_3: type: string maxLength: 512 town: type: string maxLength: 512 county: type: string maxLength: 512 postcode: type: string maxLength: 8 delivery_point_identifier: type: string maxLength: 11 required: - address_line_1 - postcode GasMeterPoint: type: object properties: tariff_code: type: string title: The tariff code as stored by the supplier. description: Must match an available tariff on the 'sold_at' datetime for the authenticating partner. Required if no 'quote_request_code' is supplied. maxLength: 255 quoted_product_id: type: integer description: The ID of the market supply quoted product returned by the 'QuoteNewMeterPoints' or 'QuoteNewMeterPointsOnBespokeProducts' mutation which was selected by the customer for this meter point. Required if a 'quote_request_code' is supplied. address: $ref: '#/components/schemas/Address' current_supplier_name: type: string maxLength: 255 current_supplier_tariff: type: string maxLength: 255 has_smart_meter: type: boolean title: Whether a smart meter is installed. The default is 'false'. consumption_standard: type: integer maximum: 500000 minimum: 1 title: The expected annual consumption for the standard register in kWh. description: Required if standard tariff. unit_rate_uplift: type: string format: decimal pattern: ^-?\d{0,4}(?:\.\d{0,3})?$ title: The amount to be added to the unit rate as commission (a string, pence per kWh). standing_charge_uplift: type: string format: decimal pattern: ^-?\d{0,4}(?:\.\d{0,3})?$ title: The amount to be added to the standing charge as commission (a string, pence per day). fixed_tpi_fee: type: integer minimum: 0 quote: $ref: '#/components/schemas/Quote' bespoke_tariff_rates: allOf: - $ref: '#/components/schemas/BespokeTariffRates' title: A json object containing bespoke tariff rates, if applicable. description: Cannot be used in conjunction with 'bespoke_pps_tariff_rates'. bespoke_pps_tariff_rates: type: array items: $ref: '#/components/schemas/BespokePPSTariffRates' description: 'If applicable, must contain two objects: one for direct debit bespoke and another for non-direct debit bespoke rates. Cannot be used in conjunction with ''bespoke_tariff_rates''.' maxItems: 2 minItems: 0 meter_type: enum: - CREDIT - PREPAYMENT type: string x-spec-enum-id: ebae2e9cf73bc01e default: CREDIT description: 'The default is ''CREDIT'', which represents any kind of traditional credit meter or smart meter. This field is mandatory for traditional prepay meters, for which the value ''PREPAYMENT'' should be used. * `CREDIT` - CREDIT * `PREPAYMENT` - PREPAYMENT' preferred_ssd: type: string format: date mprn: type: string title: The meter-point identifier. maxLength: 10 required: - consumption_standard - quote BespokeTariffRates: type: object properties: standing_charge: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,5})?$ title: The value in pence per day of the charge (excluding VAT). unit_rate: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,5})?$ title: The value in pence per kWh of the charge (excluding VAT). description: This field should be used for gas meters. unit_rates: type: array items: $ref: '#/components/schemas/BespokeElectricityUnitRate' title: List of the value in pence per kWh of the charges (excluding VAT). description: For elec meters, the unit rates are provided on a per register basis in this array. CreditScoreData: type: object properties: score: type: integer maximum: 9999 minimum: 0 risk_bracket: enum: - LOW - MID - HIGH - UNKNOWN type: string description: '* `LOW` - Low * `MID` - Medium * `HIGH` - High * `UNKNOWN` - Unknown' x-spec-enum-id: e6b98b6c312ff7bf Metadata: type: object properties: key: type: string title: Key on which the metadata will be stored. maxLength: 1024 value: title: A json object containing any arbitrary piece of data to store in relation to the account. required: - key - value Deposit: type: object properties: amount: type: integer minimum: 1 key: type: string reason: type: string Proprietor: type: object properties: first_name: type: string title: First name of the business owner. last_name: type: string title: Last name of the business owner. email_address: type: string title: Email address from a business owner. phone_number: type: string title: Phone number of a business owner. address: allOf: - $ref: '#/components/schemas/ProprietorAddress' title: Main address of a business owner (only required for non limited companies). date_of_birth: type: string format: date title: Date of birth of the business owner (only required for non limited companies) required: - email_address - first_name - last_name AgreementsCreated: type: object properties: account_number: type: string agreements: type: array items: $ref: '#/components/schemas/Agreement' required: - account_number - agreements _BespokeRegisterRate: type: object properties: rate_type: enum: - STANDARD - ECO7_DAY - ECO7_NIGHT - OFF_PEAK - PEAK - WEEKDAY - OFF_PEAK_WEEKENDS - WEEKENDS_OTHER - SUMMER - SUMMER_PEAK - SUMMER_OFF_PEAK - WINTER - WINTER_PEAK - WINTER_OFF_PEAK - NUCLEAR_RAB - SUMMER_WEEKENDS_OFF_PEAK_WINTER - TNUOS - CAPACITY_MARKET - HMC_GUARANTEE_ADVANCE - HMC_GUARANTEE_FULL - EV_DEVICE - EV_DEVICE_PEAK - EV_DEVICE_OFF_PEAK type: string x-spec-enum-id: 382cc620726bec21 title: The rate type of the unit rate. description: 'If the register_identifier is not provided, the rate type must be provided instead. * `STANDARD` - Standard rate (pence per kWh) * `ECO7_DAY` - Day (or peak) rate (pence per kWh) * `ECO7_NIGHT` - Night (or off-peak) rate (pence per kWh) * `OFF_PEAK` - Additional off-peak rate for three-rate tariffs (pence per kWh) * `PEAK` - Peak rate (pence per kWh) for business tariffs * `WEEKDAY` - Weekday rate (pence per kWh) for business tariffs * `OFF_PEAK_WEEKENDS` - Off peak weekend rate (pence per kWh) for business tariffs * `WEEKENDS_OTHER` - Weekend rate (pence per kWh) for business tariffs * `SUMMER` - Summer rate (pence per kWh) for business tariffs * `SUMMER_PEAK` - Summer peak rate (pence per kWh) for two-rate tariffs * `SUMMER_OFF_PEAK` - Summer off-peak rate (pence per kWh) for two-rate tariffs * `WINTER` - Winter rate (pence per kWh) for business tariffs * `WINTER_PEAK` - Winter peak rate (pence per kWh) for two-rate tariffs * `WINTER_OFF_PEAK` - Winter off-peak rate (pence per kWh) for two-rate tariffs * `NUCLEAR_RAB` - Nuclear RAB rate (pence per day) for business tariffs * `SUMMER_WEEKENDS_OFF_PEAK_WINTER` - A rate that applies during summer, weekends and off-peak in winter periods(pence per kWh) for business tariffs * `TNUOS` - TNUoS rate (pence per day) for business tariffs * `CAPACITY_MARKET` - Capacity Market rate (pence per day) for business tariffs * `HMC_GUARANTEE_ADVANCE` - Hourly Matching Credit Guarantee Advance rate (pence per kWh) for business tariffs * `HMC_GUARANTEE_FULL` - Hourly Matching Credit Guarantee Full rate (pence per kWh) for business tariffs * `EV_DEVICE` - Electric vehicle device rate (pence per kWh) for sub-meter billing * `EV_DEVICE_PEAK` - Electric vehicle device peak rate (pence per kWh) for sub-meter billing * `EV_DEVICE_OFF_PEAK` - Electric vehicle device off-peak rate (pence per kWh) for sub-meter billing' unit_rate: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,5})?$ title: The value in pence per kWh of the charge (excluding VAT). description: This field should be used for gas meters. payment_method: enum: - DD - NDD - PP type: string x-spec-enum-id: 84f5b0df65c6e1bb title: The value in pence per kWh of the charge (excluding VAT). description: 'This field should be used for gas meters. * `DD` - DD * `NDD` - NDD * `PP` - PP' register_identifier: type: string title: The identifier of the register to which this unit rate applies. maxLength: 32 required: - unit_rate SuccessResponse: type: object properties: number: type: string title: Number of the newly created account required: - number BespokePPSTariffRates: type: object properties: standing_charge: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,5})?$ title: The value in pence per day of the charge (excluding VAT). unit_rate: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,5})?$ title: The value in pence per kWh of the charge (excluding VAT). description: This field should be used for gas meters. unit_rates: type: array items: $ref: '#/components/schemas/BespokeElectricityUnitRate' title: List of the value in pence per kWh of the charges (excluding VAT). description: For elec meters, the unit rates are provided on a per register basis in this array. payment_method: enum: - DD - NDD - PP type: string description: '* `DD` - Direct Debit * `NDD` - Non-Direct Debit * `PP` - Prepayment' x-spec-enum-id: 362e54c421bbcaea title: The payment method for the rate. required: - payment_method _Agreement: type: object properties: mpxn: type: string title: MPRN or MPAN of the meter point getting a new agreement. tariff_code: type: string title: Tariff code for the new agreements. valid_from_date: type: string format: date title: Date (inclusive) the new agreement is valid from. valid_to_date: type: string format: date title: Date (exclusive) the new agreement is valid to. bespoke_tariff_rates: type: array items: $ref: '#/components/schemas/_BespokeTariffRate' title: Bespoke tariff rates for the new agreement, if applicable. commission: allOf: - $ref: '#/components/schemas/_Commission' title: Commission applicable to this tariff renewal. required: - mpxn - tariff_code - valid_from_date BespokeElectricityUnitRate: type: object properties: rate_type: enum: - STANDARD - ECO7_DAY - ECO7_NIGHT - OFF_PEAK - PEAK - WEEKDAY - OFF_PEAK_WEEKENDS - WEEKENDS_OTHER - SUMMER - SUMMER_PEAK - SUMMER_OFF_PEAK - WINTER - WINTER_PEAK - WINTER_OFF_PEAK - NUCLEAR_RAB - SUMMER_WEEKENDS_OFF_PEAK_WINTER - TNUOS - CAPACITY_MARKET - HMC_GUARANTEE_ADVANCE - HMC_GUARANTEE_FULL - EV_DEVICE - EV_DEVICE_PEAK - EV_DEVICE_OFF_PEAK type: string x-spec-enum-id: 382cc620726bec21 title: The rate type of the unit rate. description: 'If the register_identifier is not provided, the rate type must be provided instead. * `STANDARD` - Standard rate (pence per kWh) * `ECO7_DAY` - Day (or peak) rate (pence per kWh) * `ECO7_NIGHT` - Night (or off-peak) rate (pence per kWh) * `OFF_PEAK` - Additional off-peak rate for three-rate tariffs (pence per kWh) * `PEAK` - Peak rate (pence per kWh) for business tariffs * `WEEKDAY` - Weekday rate (pence per kWh) for business tariffs * `OFF_PEAK_WEEKENDS` - Off peak weekend rate (pence per kWh) for business tariffs * `WEEKENDS_OTHER` - Weekend rate (pence per kWh) for business tariffs * `SUMMER` - Summer rate (pence per kWh) for business tariffs * `SUMMER_PEAK` - Summer peak rate (pence per kWh) for two-rate tariffs * `SUMMER_OFF_PEAK` - Summer off-peak rate (pence per kWh) for two-rate tariffs * `WINTER` - Winter rate (pence per kWh) for business tariffs * `WINTER_PEAK` - Winter peak rate (pence per kWh) for two-rate tariffs * `WINTER_OFF_PEAK` - Winter off-peak rate (pence per kWh) for two-rate tariffs * `NUCLEAR_RAB` - Nuclear RAB rate (pence per day) for business tariffs * `SUMMER_WEEKENDS_OFF_PEAK_WINTER` - A rate that applies during summer, weekends and off-peak in winter periods(pence per kWh) for business tariffs * `TNUOS` - TNUoS rate (pence per day) for business tariffs * `CAPACITY_MARKET` - Capacity Market rate (pence per day) for business tariffs * `HMC_GUARANTEE_ADVANCE` - Hourly Matching Credit Guarantee Advance rate (pence per kWh) for business tariffs * `HMC_GUARANTEE_FULL` - Hourly Matching Credit Guarantee Full rate (pence per kWh) for business tariffs * `EV_DEVICE` - Electric vehicle device rate (pence per kWh) for sub-meter billing * `EV_DEVICE_PEAK` - Electric vehicle device peak rate (pence per kWh) for sub-meter billing * `EV_DEVICE_OFF_PEAK` - Electric vehicle device off-peak rate (pence per kWh) for sub-meter billing' unit_rate: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,5})?$ title: The value in pence per kWh of the charge (excluding VAT). description: This field should be used for gas meters. payment_method: enum: - DD - NDD - PP type: string x-spec-enum-id: 84f5b0df65c6e1bb title: The value in pence per kWh of the charge (excluding VAT). description: 'This field should be used for gas meters. * `DD` - DD * `NDD` - NDD * `PP` - PP' required: - unit_rate Quote: type: object properties: annual_payment: type: integer minimum: 0 title: The estimated annual payment for this meter-point based on consumption. description: This value must be provided in pence. For business quotes, the price is exclusive of VAT, while for non-business quotes, it should be inclusive of VAT. required: - annual_payment _BespokeTariffRate: type: object properties: standing_charge: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,5})?$ title: The value in pence per day of the charge (excluding VAT). unit_rate: type: string format: decimal pattern: ^-?\d{0,7}(?:\.\d{0,5})?$ title: The value in pence per kWh of the charge (excluding VAT). description: This field should be used for gas meters. meter_serial_number: type: string title: Meter serial number to which the bespoke tariff applies maxLength: 32 registers: type: array items: $ref: '#/components/schemas/_BespokeRegisterRate' description: For elec meters, the unit rates are provided on a per register basis in this array. required: - meter_serial_number - standing_charge Installation: type: object properties: fit_id: type: string description: The Feed-in Tariff ID. rego_id: type: string description: The REGO accreditation number. technology_type: enum: - LkUp_Generator_TypesCombined - Bio Diesel (Oil) - Bio Diesel (Oil) CHP - Bio Gas (AD) - Bio Gas (AD) CHP - Bio Gas (Landfill) - Bio Mass (Wood) - Bio Mass (Wood) CHP - Bio Methane - Geothermal (Airsource) - Geothermal (Groundsource) - Geothermal (Watersource) - Hydro (Dam - Drinking Water) - Hydro (Dam) - Hydro (Pumped Storage) - Hydro (Run-of-River) - Hydro (Sewerage Treatment) - Hydro (Tidal) - Hydro (Water Treatment) - Hydro (Wave) - Solar PV (Building) - Solar PV (Field - Multi Use) - Solar PV (Field - Single Use) - Solar Thermal - Wind (Offshore) - Wind (Onshore) - AD - CHP - Hydro - Solar - Wind type: string x-spec-enum-id: da0f319a77bff5cf description: 'The technology type for the installation. If there are multiple technologies at one site then provide multiple installations. * `LkUp_Generator_TypesCombined` - LkUp_Generator_TypesCombined * `Bio Diesel (Oil)` - Bio Diesel (Oil) * `Bio Diesel (Oil) CHP` - Bio Diesel (Oil) CHP * `Bio Gas (AD)` - Bio Gas (AD) * `Bio Gas (AD) CHP` - Bio Gas (AD) CHP * `Bio Gas (Landfill)` - Bio Gas (Landfill) * `Bio Mass (Wood)` - Bio Mass (Wood) * `Bio Mass (Wood) CHP` - Bio Mass (Wood) CHP * `Bio Methane` - Bio Methane * `Geothermal (Airsource)` - Geothermal (Airsource) * `Geothermal (Groundsource)` - Geothermal (Groundsource) * `Geothermal (Watersource)` - Geothermal (Watersource) * `Hydro (Dam - Drinking Water)` - Hydro (Dam - Drinking Water) * `Hydro (Dam)` - Hydro (Dam) * `Hydro (Pumped Storage)` - Hydro (Pumped Storage) * `Hydro (Run-of-River)` - Hydro (Run-of-River) * `Hydro (Sewerage Treatment)` - Hydro (Sewerage Treatment) * `Hydro (Tidal)` - Hydro (Tidal) * `Hydro (Water Treatment)` - Hydro (Water Treatment) * `Hydro (Wave)` - Hydro (Wave) * `Solar PV (Building)` - Solar PV (Building) * `Solar PV (Field - Multi Use)` - Solar PV (Field - Multi Use) * `Solar PV (Field - Single Use)` - Solar PV (Field - Single Use) * `Solar Thermal` - Solar Thermal * `Wind (Offshore)` - Wind (Offshore) * `Wind (Onshore)` - Wind (Onshore) * `AD` - AD * `CHP` - CHP * `Hydro` - Hydro * `Solar` - Solar * `Wind` - Wind' capacity_in_kw: type: string format: decimal pattern: ^-?\d{0,11}(?:\.\d{0,2})?$ title: The total capacity of the installation in kW. estimated_annual_generation_in_kwh: type: string format: decimal pattern: ^-?\d{0,11}(?:\.\d{0,2})?$ title: The estimated annual generation of the installation in kWh. required: - capacity_in_kw - estimated_annual_generation_in_kwh - technology_type securitySchemes: AccountUserAPIKeyAuthentication: type: http scheme: basic description: Token-based authentication where token is passed as the username for basic auth AffiliateAuthentication: type: http scheme: basic description: Basic authentication for affiliate organisations DRFKrakenTokenAuthentication: type: apiKey in: header name: Authorization description: JWT-based authentication KeyAuthentication: type: apiKey in: header name: Authorization description: Token-based authentication with required prefix "Token " PartnerUserOnlyAuthentication: type: http scheme: basic description: Basic authentication for partner organisations