Operations 3
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
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
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/methodfi:methodfi-reports-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: Method Reports 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: Reports
description: Downloadable reports
paths:
/reports:
post:
operationId: createReport
summary: Create a report
description: Creates a new report of the specified type. The report will be generated asynchronously and can be downloaded once its status is `completed`.
tags:
- Reports
security:
- SecretKey: []
parameters:
- $ref: '#/components/parameters/method_version'
- $ref: '#/components/parameters/idempotency_key'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ReportCreateRequest'
responses:
'200':
description: The newly created report.
content:
application/json:
schema:
$ref: '#/components/schemas/ReportResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/InternalError'
/reports/{reportId}:
get:
operationId: retrieveReport
summary: Retrieve a report
description: Returns a single report by its identifier. Use this to check the status of a report before downloading.
tags:
- Reports
security:
- SecretKey: []
parameters:
- $ref: '#/components/parameters/method_version'
- name: reportId
in: path
required: true
description: Unique identifier for the report.
schema:
type: string
pattern: ^rpt_\w+$
responses:
'200':
description: The requested report.
content:
application/json:
schema:
$ref: '#/components/schemas/ReportResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/InternalError'
/reports/{reportId}/download:
get:
operationId: downloadReport
summary: Download a report
description: Returns the completed report as a CSV file attachment.
tags:
- Reports
security:
- SecretKey: []
parameters:
- $ref: '#/components/parameters/method_version'
- name: reportId
in: path
required: true
description: Unique identifier for the report.
schema:
type: string
pattern: ^rpt_\w+$
responses:
'200':
description: CSV report content.
headers:
Content-Disposition:
description: Attachment filename for the downloaded report.
schema:
type: string
content:
text/csv:
schema:
type: string
format: binary
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/RateLimited'
'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'
RateLimited:
description: Too many requests - rate limit exceeded.
headers:
Retry-After:
description: Number of seconds to wait before retrying.
schema:
type: integer
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'
UnprocessableEntity:
description: Unprocessable entity - the request was valid JSON but failed business or validation rules.
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
Report:
type: object
description: A Report is a downloadable file containing aggregated data about payments, entities, or other resources.
required:
- id
- type
- url
- status
- metadata
- created_at
- updated_at
properties:
id:
type: string
description: Unique identifier for the report.
pattern: ^rpt_\w+$
example: rpt_cj2mkA3hFyHT5
type:
type: string
description: The type of report.
enum:
- payments.created.current
- payments.created.previous
- payments.created.previous_day
- payments.updated.current
- payments.updated.previous
- payments.failed.previous_day
- ach.pull.upcoming
- ach.pull.previous
- ach.pull.nightly
- ach.reversals.nightly
- ach.debit.daily
- entities.created.previous_day
- reserve_fbo_balance.created.previous_day
url:
type:
- string
- 'null'
description: Download URL for the completed report. Only available when status is `completed`.
status:
type: string
description: Current processing status of the report.
enum:
- processing
- completed
metadata:
$ref: '#/components/schemas/Metadata'
created_at:
type: string
format: date-time
description: Timestamp when the report was created.
updated_at:
type: string
format: date-time
description: Timestamp when the report was last updated.
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
ReportResponse:
allOf:
- $ref: '#/components/schemas/SuccessEnvelope'
- type: object
properties:
data:
$ref: '#/components/schemas/Report'
Metadata:
type:
- object
- 'null'
additionalProperties: true
description: Arbitrary key-value metadata attached to the resource.
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.
ReportCreateRequest:
type: object
description: Request body for creating a report.
required:
- type
properties:
type:
type: string
description: The type of report to generate.
enum:
- payments.created.current
- payments.created.previous
- payments.created.previous_day
- payments.updated.current
- payments.updated.previous
- payments.failed.previous_day
- ach.pull.upcoming
- ach.pull.previous
- ach.pull.nightly
- ach.reversals.nightly
- ach.debit.daily
- entities.created.previous_day
- reserve_fbo_balance.created.previous_day
parameters:
idempotency_key:
name: Idempotency-Key
in: header
required: false
description: 'Idempotency key for safely retrying a write request. Reuse the same value when
retrying the same logical operation to avoid creating duplicate side effects.
'
schema:
type: string
format: uuid
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.
'