MethodFi Elements API

Client-side Element endpoints

Operations 5

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

POST /elements/token Create an element token for the frontend · Create an element token #
Ask an LLM
“How do I generate a client-side token to launch an element for an entity?”
“Do element tokens expire and are they scoped to one entity?”
Tell an agent
Create a {type} element token for entity {entity}.
Generate an element token of element type {element_type} for entity {entity} and type {type}.
GET /elements/token/{pk_elem_id}/results Get the results of a completed element · Retrieve element session results #
Ask an LLM
“How do I get the data a user entered during an element flow?”
“Can I read results once an element session has completed?”
Tell an agent
Get the results for element token {token}.
Show the data collected in element session for token {token}.
GET /elements/sessions/{session_id} Get an element session · Retrieve an element session #
Ask an LLM
“Can I look up an element session by its session ID?”
“What state is a particular element session in?”
Tell an agent
Get element session {session}.
Check the current state of element session {session}.
PUT /elements/sessions/{session_id} Update an element session · Update an element session #
Ask an LLM
“Is it possible to modify an element session after it has started?”
“Can I change an existing element session by its ID?”
Tell an agent
Update element session {session}.
Apply changes to element session {session}.
POST /elements/accounts/exchange Exchange account details for an element flow · Exchange an account #
Ask an LLM
“How do I exchange account information server-side during an element flow?”
“Where does the server-side account exchange step fit in elements?”
Tell an agent
Exchange the account from an element flow under API version {version}.
Run the server-side account exchange for the current element.

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/methodfi:methodfi-elements-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

methodfi-elements-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Method Elements API
  version: '2025-12-01'
  license:
    name: Proprietary
    url: https://methodfi.com
  description: 'The Method API enables you to retrieve financial data, create payments, and manage

    entities and accounts programmatically.'
  contact:
    name: Method Financial
    url: https://methodfi.com
    email: team@methodfi.com
servers:
- url: https://production.methodfi.com
  description: Production
- url: https://sandbox.methodfi.com
  description: Sandbox
- url: https://dev.methodfi.com
  description: Development
security:
- SecretKey: []
tags:
- name: Elements
  description: Client-side Element endpoints
paths:
  /elements/token:
    post:
      operationId: elementsCreateToken
      deprecated: true
      summary: Create an element token
      description: 'Creates a new element token for client-side use. The token is scoped to a specific entity

        and has an expiration. Use this server-side to generate tokens for your frontend.'
      tags:
      - Elements
      security:
      - SecretKey: []
      parameters:
      - $ref: '#/components/parameters/method_version'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - entity_id
              - type
              properties:
                entity_id:
                  type: string
                  description: The entity ID to scope the token to.
                  pattern: ^ent_\w+$
                type:
                  type: string
                  description: The type of element token to create.
                element_type:
                  type: string
                  description: The specific element type for the token.
      responses:
        '200':
          description: The created element token.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
  /elements/token/{pk_elem_id}/results:
    get:
      operationId: elementsRetrieveSessionResults
      deprecated: true
      summary: Retrieve element session results
      description: Returns the results of a completed element session. Use this to retrieve data collected during an element flow.
      tags:
      - Elements
      security:
      - SecretKey: []
      parameters:
      - $ref: '#/components/parameters/method_version'
      - name: pk_elem_id
        in: path
        required: true
        description: The element token identifier.
        schema:
          type: string
          pattern: ^pk_elem_\w+$
      responses:
        '200':
          description: The session results.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
  /elements/sessions/{session_id}:
    get:
      operationId: elementsRetrieveSession
      deprecated: true
      summary: Retrieve an element session
      description: Returns a single element session by its identifier.
      tags:
      - Elements
      security:
      - SecretKey: []
      parameters:
      - $ref: '#/components/parameters/method_version'
      - name: session_id
        in: path
        required: true
        description: Unique identifier for the element session.
        schema:
          type: string
      responses:
        '200':
          description: The requested session.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
    put:
      operationId: elementsUpdateSession
      deprecated: true
      summary: Update an element session
      description: Updates an element session by its identifier.
      tags:
      - Elements
      security:
      - SecretKey: []
      parameters:
      - $ref: '#/components/parameters/method_version'
      - name: session_id
        in: path
        required: true
        description: Unique identifier for the element session.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Session update parameters.
      responses:
        '200':
          description: The updated session.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/InternalError'
  /elements/accounts/exchange:
    post:
      operationId: elementsExchangeAccount
      deprecated: true
      summary: Exchange an account
      description: Exchanges account information for use in element flows. This endpoint is called server-side.
      tags:
      - Elements
      security:
      - SecretKey: []
      parameters:
      - $ref: '#/components/parameters/method_version'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              description: Account exchange parameters.
      responses:
        '200':
          description: The exchanged account data.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ObjectResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '500':
          $ref: '#/components/responses/InternalError'
components:
  responses:
    InternalError:
      description: Internal server error.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    Unauthorized:
      description: Unauthorized - missing or invalid authentication token.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    NotFound:
      description: Not found - the requested resource does not exist.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
    BadRequest:
      description: Bad request - invalid parameters or request body.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorEnvelope'
  schemas:
    ErrorEnvelope:
      type: object
      required:
      - success
      - data
      - message
      properties:
        success:
          type: boolean
          description: Always `false` for error responses.
        data:
          type: object
          required:
          - error
          properties:
            error:
              $ref: '#/components/schemas/ErrorObject'
        message:
          type: string
    SuccessEnvelope:
      type: object
      description: Standard envelope for successful responses that return a single payload.
      required:
      - success
      - data
      - message
      properties:
        success:
          type: boolean
          description: Always `true` for successful responses.
        data:
          description: Operation-specific response payload.
        message:
          type:
          - string
          - 'null'
      example:
        success: true
        data: {}
        message: null
    JsonObject:
      type: object
      description: Arbitrary JSON object.
      additionalProperties: true
    ErrorObject:
      type: object
      required:
      - type
      - code
      - message
      properties:
        type:
          type: string
          description: Error type category.
          enum:
          - invalid_request
          - api_error
          - resource_error
        code:
          type: integer
          description: Numeric error code. Common codes include 400 (bad request), 401 (unauthorized), 403 (forbidden), 404 (not found), 422 (unprocessable entity), 429 (rate limited), and 500 (internal error).
        sub_type:
          type:
          - string
          - 'null'
          description: More specific error classification.
        message:
          type: string
          description: Human-readable error description.
    ObjectResponse:
      allOf:
      - $ref: '#/components/schemas/SuccessEnvelope'
      - type: object
        properties:
          data:
            $ref: '#/components/schemas/JsonObject'
      example:
        success: true
        data:
          id: obj_123
        message: null
  parameters:
    method_version:
      name: Method-Version
      in: header
      required: true
      description: 'API version to use for this request. This spec targets `2025-12-01`.

        The SDK sets this header automatically.

        '
      schema:
        type: string
        enum:
        - '2025-12-01'
        default: '2025-12-01'
  securitySchemes:
    OpalToken:
      type: http
      scheme: bearer
      description: 'Opal token authentication for Opal session endpoints. Use an Opal token (`otkn_...`)

        as the Bearer token. Created via POST /opal/token using a secret key.

        '
    SecretKey:
      type: http
      scheme: bearer
      description: 'Secret key authentication. Use your team''s secret key (`sk_...`) as the Bearer token.

        All authenticated API endpoints require this scheme unless otherwise noted.

        '