Arcadia Custom Data API

The Custom Data API from Arcadia — 2 operation(s) for custom data.

Operations 4

GET /plug/organization Retrieve Organization #
PATCH /plug/organization Update Organization Custom Data #
PUT /plug/organization Set Organization Custom Data #
GET /plug/organization/events Get Organization Events #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/arcadia-power:arcadia-power-custom-data-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

arcadia-power-custom-data-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: Plug API
  title: Plug Custom Data API
  version: 2.0.0
servers:
- url: https://api.arcadia.com
security:
- OAuth2: []
tags:
- name: Custom Data
paths:
  /plug/organization:
    get:
      description: This endpoint returns your Arcadia organization name and also returns your account and meter level custom data field names.
      operationId: retrieve-organization
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicOrganizationResource'
          description: OK
      summary: Retrieve Organization
      tags:
      - Custom Data
      parameters:
      - $ref: '#/components/parameters/arcVersionInHeaderParam'
    patch:
      description: In order to use account or meter level custom data fields, you need to define the field names. You can update these custom data field names through this endpoint. You can have up to 25 custom data fields at the account level and up to 10 at the meter level.
      operationId: update-organization-custom-data
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicOrganizationCustomDataRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicOrganizationResource'
          description: OK
      summary: Update Organization Custom Data
      tags:
      - Custom Data
      parameters:
      - $ref: '#/components/parameters/arcVersionInHeaderParam'
    put:
      description: In order to use account or meter level custom data fields, you need to define the field names. You can update these custom data field names through this endpoint. You can have up to 25 custom data fields at the account level and up to 10 at the meter level. This is a PUT method, which requires all fields be provided to ensure a complete update of the existing resource.
      operationId: set-organization-custom-data
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicOrganizationCustomDataRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicOrganizationResource'
          description: OK
      summary: Set Organization Custom Data
      tags:
      - Custom Data
      parameters:
      - $ref: '#/components/parameters/arcVersionInHeaderParam'
  /plug/organization/events:
    get:
      description: This endpoint allows you to view the history of changes made to your organization's custom data fields. This endpoint is pageable.
      operationId: get-organization-events
      parameters:
      - description: 'A search query string. See [this page](ref:searching) for more information.


          The searchable fields for this endpoint are:

          - `createdAt`

          - `createdBy`

          - `eventType`

          - `fieldName`

          - `newValue`

          - `oldValue`'
        in: query
        name: search
        required: false
        schema:
          type: string
      - description: A global search query string. See [this page](ref:searching#global-search) for more information.
        in: query
        name: globalSearch
        required: false
        schema:
          type: string
      - description: Zero-based page index (0..N)
        in: query
        name: page
        schema:
          type: integer
          default: 0
      - description: The size of the page to be returned
        in: query
        name: size
        schema:
          type: integer
          default: 20
      - description: 'Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.'
        in: query
        name: sort
        schema:
          type: array
          items:
            type: string
      - $ref: '#/components/parameters/arcVersionInHeaderParam'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PagedPublicOrganizationEventResource'
          description: OK
      summary: Get Organization Events
      tags:
      - Custom Data
components:
  schemas:
    PublicOrganizationResource:
      type: object
      properties:
        accountCustomData10Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData11Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData12Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData13Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData14Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData15Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData16Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData17Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData18Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData19Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData1Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData20Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData21Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData22Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData23Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData24Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData25Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData2Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData3Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData4Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData5Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData6Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData7Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData8Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        accountCustomData9Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update an account level custom data field name.
        id:
          type: string
          description: A unique identifier for the entity.
        meterCustomData10Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update a meter level custom data field name.
        meterCustomData1Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update a meter level custom data field name.
        meterCustomData2Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update a meter level custom data field name.
        meterCustomData3Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update a meter level custom data field name.
        meterCustomData4Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update a meter level custom data field name.
        meterCustomData5Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update a meter level custom data field name.
        meterCustomData6Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update a meter level custom data field name.
        meterCustomData7Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update a meter level custom data field name.
        meterCustomData8Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update a meter level custom data field name.
        meterCustomData9Name:
          type:
          - string
          - 'null'
          description: Optional field to create or update a meter level custom data field name.
        name:
          type: string
          description: The name for the resource.
      required:
      - accountCustomData10Name
      - accountCustomData11Name
      - accountCustomData12Name
      - accountCustomData13Name
      - accountCustomData14Name
      - accountCustomData15Name
      - accountCustomData16Name
      - accountCustomData17Name
      - accountCustomData18Name
      - accountCustomData19Name
      - accountCustomData1Name
      - accountCustomData20Name
      - accountCustomData21Name
      - accountCustomData22Name
      - accountCustomData23Name
      - accountCustomData24Name
      - accountCustomData25Name
      - accountCustomData2Name
      - accountCustomData3Name
      - accountCustomData4Name
      - accountCustomData5Name
      - accountCustomData6Name
      - accountCustomData7Name
      - accountCustomData8Name
      - accountCustomData9Name
      - id
      - meterCustomData10Name
      - meterCustomData1Name
      - meterCustomData2Name
      - meterCustomData3Name
      - meterCustomData4Name
      - meterCustomData5Name
      - meterCustomData6Name
      - meterCustomData7Name
      - meterCustomData8Name
      - meterCustomData9Name
      - name
    PublicOrganizationEventResource:
      type: object
      description: Events associated with custom data name changes
      properties:
        createdAt:
          type: string
          format: date-time
          description: The date-time this event occurred.
        createdBy:
          type: string
          description: The user or system that initiated the event.
        eventType:
          type: string
          description: The type of custom data update event that occurred.
          enum:
          - CUSTOM_DATA_NAME_CHANGE
          - ACCOUNT_CUSTOM_DATA_CREATED
          - ACCOUNT_CUSTOM_DATA_UPDATED
          - ACCOUNT_CUSTOM_DATA_DELETED
          - METER_CUSTOM_DATA_CREATED
          - METER_CUSTOM_DATA_UPDATED
          - METER_CUSTOM_DATA_DELETED
        fieldName:
          type:
          - string
          - 'null'
          description: Which custom data field was modified.
        id:
          type: string
          description: A unique identifier for the event.
        newValue:
          type:
          - string
          - 'null'
          description: The newly assigned value of the field.
        oldValue:
          type:
          - string
          - 'null'
          description: The previous value of the field.
      required:
      - createdAt
      - createdBy
      - eventType
      - fieldName
      - id
      - newValue
      - oldValue
    PagedPublicOrganizationEventResource:
      type: object
      properties:
        page:
          $ref: '#/components/schemas/PageMetadata'
        plugOrganizationEvents:
          type: array
          description: Events associated with custom data name changes
          items:
            $ref: '#/components/schemas/PublicOrganizationEventResource'
      required:
      - page
      - plugOrganizationEvents
    PublicOrganizationCustomDataRequest:
      type: object
      properties:
        accountCustomData10Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData11Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData12Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData13Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData14Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData15Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData16Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData17Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData18Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData19Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData1Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData20Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData21Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData22Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData23Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData24Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData25Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData2Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData3Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData4Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData5Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData6Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData7Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData8Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        accountCustomData9Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each account, allowing for additional metadata or information to be stored. There can be up to 25 different custom data fields for an account.
        meterCustomData10Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.
        meterCustomData1Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.
        meterCustomData2Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.
        meterCustomData3Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.
        meterCustomData4Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.
        meterCustomData5Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.
        meterCustomData6Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.
        meterCustomData7Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.
        meterCustomData8Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.
        meterCustomData9Name:
          type:
          - string
          - 'null'
          description: Custom data fields associated with each meter, allowing for additional metadata or information to be stored. There can be up to 10 different custom data fields for an account.
    PageMetadata:
      required:
      - number
      - size
      - totalElements
      - totalPages
      type: object
      properties:
        number:
          type: integer
          format: int64
        size:
          type: integer
          format: int64
        totalElements:
          type: integer
          format: int64
        totalPages:
          type: integer
          format: int64
      description: Specifies which page of results to return; this is 0-indexed
  parameters:
    arcVersionInHeaderParam:
      name: Arcadia-Version
      in: header
      example: '2024-02-21'
      description: The Arcadia-Version for the request
      required: true
      schema:
        type: string
        default: '2024-02-21'
  securitySchemes:
    OAuth2:
      type: oauth2
      description: This API uses OAuth2 with the client credentials flow using the ['Create an Access Token'](ref:create-access-token) endpoint. API keys can be retrieved from the [Dashboard](https://dashboard.arcadia.com/).
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /oauth2/token
x-provenance:
  method: harvested
  publisher: Arcadia
  source: https://docs.arcadia.com/openapi/openapi.yaml
  note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
    stamped by stamp-openapi-provenance.py (roadmap#793)