From d4dbb6e8d9b7dd56f095914dd26fb218e25f5607 Mon Sep 17 00:00:00 2001 From: Mike Date: Wed, 29 Jul 2026 10:12:39 -0400 Subject: [PATCH] changes to versions and updates --- latest/openapi.bundled.json | 947 ++++++++++++++---- latest/openapi.bundled.yaml | 687 ++++++++++--- .../components/parameters/method_version.yaml | 6 +- openapi/components/schemas/account.yaml | 387 ++++++- openapi/components/schemas/entity.yaml | 19 +- openapi/components/schemas/payment.yaml | 11 + openapi/components/schemas/secret.yaml | 7 + openapi/components/schemas/team.yaml | 183 ++-- openapi/openapi.yaml | 7 +- .../paths/account_payment_instruments.yaml | 2 +- openapi/paths/entity_attributes.yaml | 17 +- openapi/paths/ping.yaml | 11 +- openapi/paths/simulate/events.yaml | 6 +- openapi/paths/simulate/payments.yaml | 2 +- openapi/paths/teams.yaml | 8 +- 15 files changed, 1842 insertions(+), 458 deletions(-) diff --git a/latest/openapi.bundled.json b/latest/openapi.bundled.json index b8943a7..f9a460c 100644 --- a/latest/openapi.bundled.json +++ b/latest/openapi.bundled.json @@ -2,12 +2,12 @@ "openapi": "3.1.0", "info": { "title": "Method API", - "version": "2025-12-01", + "version": "2026-03-30", "license": { "name": "Proprietary", "url": "https://methodfi.com" }, - "description": "The Method API enables you to retrieve financial data, create payments, and manage\nentities and accounts programmatically. This specification covers the public API\nsurface for version `2025-12-01`.\n\n## Authentication\n\nMost API requests require a Bearer token in the `Authorization` header.\nUse your secret key (`sk_...`) for server-side requests and public key (`pk_...`)\nfor client-side Element requests. Public Message-Level Encryption key discovery\nendpoints are documented separately and do not require authentication.\n\n## Versioning\n\nThe API version is selected via the `Method-Version` header. This spec targets\nversion `2025-12-01`. The SDK sets this header automatically.\n\n## Response Envelope\n\nMost JSON responses are wrapped in a standard envelope:\n\n```json\n{\n \"success\": true,\n \"data\": { ... },\n \"message\": null\n}\n```\n\nThe `/.well-known/jwks.json` endpoint is an exception and returns a bare JWK set.\n\n## Pagination\n\nList endpoints return pagination metadata in response headers:\n`Pagination-Page`, `Pagination-Page-Count`, `Pagination-Page-Limit`,\n`Pagination-Total-Count`, `Pagination-Page-Cursor-Prev`, `Pagination-Page-Cursor-Next`.\n\n## Expandable Fields\n\nCertain resource fields can be expanded from IDs to full objects using the\n`expand` query parameter. Maximum nesting depth is 4 levels.\n", + "description": "The Method API enables you to retrieve financial data, create payments, and manage\nentities and accounts programmatically. This specification covers the public API\nsurface for version `2026-03-30`.\n\n## Authentication\n\nMost API requests require a Bearer token in the `Authorization` header.\nUse your secret key (`sk_...`) for server-side requests and public key (`pk_...`)\nfor client-side Element requests. Public Message-Level Encryption key discovery\nendpoints are documented separately and do not require authentication.\n\n## Versioning\n\nThe API version is selected via the `Method-Version` header. This spec targets\nversion `2026-03-30`. The SDK sets this header automatically.\n\n## Response Envelope\n\nMost JSON responses are wrapped in a standard envelope:\n\n```json\n{\n \"success\": true,\n \"data\": { ... },\n \"message\": null\n}\n```\n\nThe `/.well-known/jwks.json` endpoint is an exception and returns a bare JWK set.\n\n## Pagination\n\nList endpoints return pagination metadata in response headers:\n`Pagination-Page`, `Pagination-Page-Count`, `Pagination-Page-Limit`,\n`Pagination-Total-Count`, `Pagination-Page-Cursor-Prev`, `Pagination-Page-Cursor-Next`.\n\n## Expandable Fields\n\nCertain resource fields can be expanded from IDs to full objects using the\n`expand` query parameter. Maximum nesting depth is 4 levels.\n", "contact": { "name": "Method Financial", "url": "https://methodfi.com", @@ -17,15 +17,18 @@ "servers": [ { "url": "https://production.methodfi.com", - "description": "Production" + "description": "Production", + "x-fern-server-name": "Production" }, { "url": "https://sandbox.methodfi.com", - "description": "Sandbox" + "description": "Sandbox", + "x-fern-server-name": "Sandbox" }, { "url": "https://dev.methodfi.com", - "description": "Development" + "description": "Development", + "x-fern-server-name": "Development" } ], "security": [ @@ -347,23 +350,24 @@ "description": "Always `true` for successful responses." }, "data": { - "type": "string", - "enum": [ - "pong" - ] + "type": "null" }, "message": { "type": [ "string", "null" + ], + "enum": [ + "pong", + null ] } } }, "example": { "success": true, - "data": "pong", - "message": null + "data": null, + "message": "pong" } } } @@ -1725,7 +1729,7 @@ "delete": { "operationId": "closeAccountPaymentInstrument", "summary": "Close an account payment instrument", - "description": "Closes an account payment instrument. This endpoint is only available starting with API version `2025-12-01`.", + "description": "Closes an account payment instrument. This endpoint is only available starting with API version `2026-03-30`.", "tags": [ "Account Payment Instruments" ], @@ -3789,7 +3793,7 @@ "post": { "operationId": "createEntityAttributes", "summary": "Create entity attributes", - "description": "Creates a new attribute retrieval for the specified entity.", + "description": "Creates a new attribute retrieval for the specified entity. As of API version `2026-03-30`, this endpoint no longer accepts an `attributes` selector in the request body — all available attributes are requested automatically.", "tags": [ "Entity Attributes" ], @@ -3809,25 +3813,6 @@ "$ref": "#/components/parameters/EntityIdParam" } ], - "requestBody": { - "required": false, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "attributes": { - "type": "array", - "description": "Specific attributes to request.", - "items": { - "type": "string" - } - } - } - } - } - } - }, "responses": { "200": { "description": "The created entity attribute.", @@ -7627,7 +7612,7 @@ "get": { "operationId": "retrieveTeam", "summary": "Retrieve the current team", - "description": "Returns the team associated with the current API key.", + "description": "Returns the team hierarchy (the team associated with the current API key, plus any parent/child teams) as a list.", "tags": [ "Teams" ], @@ -7643,11 +7628,11 @@ ], "responses": { "200": { - "description": "The current team.", + "description": "The team hierarchy for the current API key.", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/TeamResponse" + "$ref": "#/components/schemas/TeamListResponse" } } } @@ -8790,16 +8775,16 @@ "type": "object", "required": [ "type", - "resource_id" + "entity_id" ], "properties": { "type": { "type": "string", "description": "The event type to simulate (e.g., `payment.update`)." }, - "resource_id": { + "entity_id": { "type": "string", - "description": "The identifier of the resource to associate with the event." + "description": "The identifier of the entity to associate with the event." } } } @@ -8910,7 +8895,7 @@ "post": { "operationId": "simulatePostPaymentViaPaymentInstrument", "summary": "Simulate a payment via payment instrument", - "description": "Simulates posting a payment through a payment instrument in the sandbox environment.\nUse this to test payment instrument flows during development.\n\n**Development only** - This endpoint is only available in the sandbox environment.\nThis endpoint is available starting with API version `2025-12-01`.\n", + "description": "Simulates posting a payment through a payment instrument in the sandbox environment.\nUse this to test payment instrument flows during development.\n\n**Development only** - This endpoint is only available in the sandbox environment.\nThis endpoint is available starting with API version `2026-03-30`.\n", "tags": [ "Simulate Payments" ], @@ -9555,13 +9540,13 @@ "name": "Method-Version", "in": "header", "required": true, - "description": "API version to use for this request. This spec targets `2025-12-01`.\nThe SDK sets this header automatically.\n", + "description": "API version to use for this request. This spec targets `2026-03-30`.\nThe SDK sets this header automatically.\n", "schema": { "type": "string", "enum": [ - "2025-12-01" + "2026-03-30" ], - "default": "2025-12-01" + "default": "2026-03-30" } }, "expand_accounts": { @@ -11630,6 +11615,12 @@ "personal_loan", "student_loan", "student_loans", + "collection", + "credit_builder", + "insurance", + "loan", + "medical", + "utility", "bnpl", "fintech" ] @@ -12258,13 +12249,33 @@ } } }, - "bnpl": { + "collection": { "type": [ "object", "null" ], - "description": "Buy now pay later update data. Present when `type` is `bnpl`.", + "description": "Collection account update data. Present when `type` is `collection`.", "properties": { + "sub_type": { + "type": [ + "string", + "null" + ] + }, + "opened_at": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "closed_at": { + "type": [ + "string", + "null" + ], + "format": "date" + }, "balance": { "type": [ "integer", @@ -12272,6 +12283,55 @@ ], "description": "Current balance in cents." }, + "last_payment_amount": { + "type": [ + "integer", + "null" + ], + "description": "Last payment amount in cents." + }, + "last_payment_date": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "next_payment_due_date": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "next_payment_minimum_amount": { + "type": [ + "integer", + "null" + ], + "description": "Minimum payment due in cents." + }, + "interest_rate_type": { + "type": [ + "string", + "null" + ] + } + } + }, + "credit_builder": { + "type": [ + "object", + "null" + ], + "description": "Credit builder update data. Present when `type` is `credit_builder`.", + "properties": { + "sub_type": { + "type": [ + "string", + "null" + ] + }, "opened_at": { "type": [ "string", @@ -12285,16 +12345,77 @@ "null" ], "format": "date" + }, + "balance": { + "type": [ + "integer", + "null" + ], + "description": "Current balance in cents." + }, + "last_payment_amount": { + "type": [ + "integer", + "null" + ], + "description": "Last payment amount in cents." + }, + "last_payment_date": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "next_payment_due_date": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "next_payment_minimum_amount": { + "type": [ + "integer", + "null" + ], + "description": "Minimum payment due in cents." + }, + "interest_rate_type": { + "type": [ + "string", + "null" + ] } } }, - "fintech": { + "insurance": { "type": [ "object", "null" ], - "description": "Fintech account update data. Present when `type` is `fintech`.", + "description": "Insurance update data. Present when `type` is `insurance`.", "properties": { + "sub_type": { + "type": [ + "string", + "null" + ] + }, + "opened_at": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "closed_at": { + "type": [ + "string", + "null" + ], + "format": "date" + }, "balance": { "type": [ "integer", @@ -12302,6 +12423,55 @@ ], "description": "Current balance in cents." }, + "last_payment_amount": { + "type": [ + "integer", + "null" + ], + "description": "Last payment amount in cents." + }, + "last_payment_date": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "next_payment_due_date": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "next_payment_minimum_amount": { + "type": [ + "integer", + "null" + ], + "description": "Minimum payment due in cents." + }, + "interest_rate_type": { + "type": [ + "string", + "null" + ] + } + } + }, + "loan": { + "type": [ + "object", + "null" + ], + "description": "Loan update data. Present when `type` is `loan`.", + "properties": { + "sub_type": { + "type": [ + "string", + "null" + ] + }, "opened_at": { "type": [ "string", @@ -12315,13 +12485,254 @@ "null" ], "format": "date" + }, + "balance": { + "type": [ + "integer", + "null" + ], + "description": "Current balance in cents." + }, + "last_payment_amount": { + "type": [ + "integer", + "null" + ], + "description": "Last payment amount in cents." + }, + "last_payment_date": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "next_payment_due_date": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "next_payment_minimum_amount": { + "type": [ + "integer", + "null" + ], + "description": "Minimum payment due in cents." + }, + "interest_rate_type": { + "type": [ + "string", + "null" + ] } } }, - "error": { - "$ref": "#/components/schemas/UpdateResourceError" - }, - "created_at": { + "medical": { + "type": [ + "object", + "null" + ], + "description": "Medical update data. Present when `type` is `medical`.", + "properties": { + "sub_type": { + "type": [ + "string", + "null" + ] + }, + "opened_at": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "closed_at": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "balance": { + "type": [ + "integer", + "null" + ], + "description": "Current balance in cents." + }, + "last_payment_amount": { + "type": [ + "integer", + "null" + ], + "description": "Last payment amount in cents." + }, + "last_payment_date": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "next_payment_due_date": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "next_payment_minimum_amount": { + "type": [ + "integer", + "null" + ], + "description": "Minimum payment due in cents." + }, + "interest_rate_type": { + "type": [ + "string", + "null" + ] + } + } + }, + "utility": { + "type": [ + "object", + "null" + ], + "description": "Utility update data. Present when `type` is `utility`.", + "properties": { + "sub_type": { + "type": [ + "string", + "null" + ] + }, + "opened_at": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "closed_at": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "balance": { + "type": [ + "integer", + "null" + ], + "description": "Current balance in cents." + }, + "last_payment_amount": { + "type": [ + "integer", + "null" + ], + "description": "Last payment amount in cents." + }, + "last_payment_date": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "next_payment_due_date": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "next_payment_minimum_amount": { + "type": [ + "integer", + "null" + ], + "description": "Minimum payment due in cents." + }, + "interest_rate_type": { + "type": [ + "string", + "null" + ] + } + } + }, + "bnpl": { + "type": [ + "object", + "null" + ], + "description": "Buy now pay later update data. Present when `type` is `bnpl`.", + "properties": { + "balance": { + "type": [ + "integer", + "null" + ], + "description": "Current balance in cents." + }, + "opened_at": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "closed_at": { + "type": [ + "string", + "null" + ], + "format": "date" + } + } + }, + "fintech": { + "type": [ + "object", + "null" + ], + "description": "Fintech account update data. Present when `type` is `fintech`.", + "properties": { + "balance": { + "type": [ + "integer", + "null" + ], + "description": "Current balance in cents." + }, + "opened_at": { + "type": [ + "string", + "null" + ], + "format": "date" + }, + "closed_at": { + "type": [ + "string", + "null" + ], + "format": "date" + } + } + }, + "error": { + "$ref": "#/components/schemas/UpdateResourceError" + }, + "created_at": { "type": "string", "format": "date-time", "description": "Timestamp when the update was created." @@ -12439,7 +12850,6 @@ "account_id", "status", "type", - "fields", "created_at", "updated_at" ], @@ -12468,20 +12878,47 @@ "type": "string", "description": "The type of sensitive data." }, - "fields": { - "type": "array", - "description": "List of sensitive data fields retrieved.", - "items": { - "type": "object", - "properties": { - "name": { - "type": "string", - "description": "Name of the field." - }, - "value": { - "type": "string", - "description": "Value of the field." - } + "credit_card": { + "type": [ + "object", + "null" + ], + "description": "Card details. Present when type is credit_card.", + "properties": { + "number": { + "type": [ + "string", + "null" + ], + "description": "The card number." + }, + "exp_month": { + "type": [ + "string", + "null" + ], + "description": "Card expiration month." + }, + "exp_year": { + "type": [ + "string", + "null" + ], + "description": "Card expiration year." + }, + "cvv": { + "type": [ + "string", + "null" + ], + "description": "Card CVV." + }, + "billing_zip_code": { + "type": [ + "string", + "null" + ], + "description": "Billing zip code." } } }, @@ -13346,19 +13783,22 @@ "type": "object", "description": "A product associated with an account.", "required": [ - "id", "name", "status", "status_error", - "capabilities", - "reportable", + "is_subscribable", + "latest_request_id", + "latest_successful_request_id", "created_at", "updated_at" ], "properties": { "id": { - "type": "string", - "description": "Unique identifier for the product.", + "type": [ + "string", + "null" + ], + "description": "Unique identifier for the product, if applicable.", "pattern": "^prd_\\w+$", "example": "prd_aTJMbnCjw34yQ" }, @@ -13378,16 +13818,23 @@ "status_error": { "$ref": "#/components/schemas/ProductResourceError" }, - "capabilities": { - "type": "array", - "description": "Capabilities provided by this product.", - "items": { - "type": "string" - } - }, - "reportable": { + "is_subscribable": { "type": "boolean", - "description": "Whether this product generates reportable data." + "description": "Whether this product can be subscribed to for ongoing updates." + }, + "latest_request_id": { + "type": [ + "string", + "null" + ], + "description": "ID of the latest request made for this product." + }, + "latest_successful_request_id": { + "type": [ + "string", + "null" + ], + "description": "ID of the latest successful request made for this product." }, "created_at": { "type": "string", @@ -13484,6 +13931,11 @@ } ] }, + "JsonObject": { + "type": "object", + "description": "Arbitrary JSON object.", + "additionalProperties": true + }, "AccountSubscription": { "type": "object", "description": "A subscription for an account.", @@ -13521,6 +13973,18 @@ ], "description": "ID of the latest request triggered by this subscription." }, + "payload": { + "type": [ + "object", + "null" + ], + "description": "Configuration payload provided when the subscription was created, if any.", + "allOf": [ + { + "$ref": "#/components/schemas/JsonObject" + } + ] + }, "created_at": { "type": "string", "format": "date-time", @@ -13694,6 +14158,13 @@ ], "description": "The transaction descriptor." }, + "merchant_category_code": { + "type": [ + "string", + "null" + ], + "description": "The merchant category code (MCC) for this transaction." + }, "transacted_at": { "type": [ "string", @@ -14747,7 +15218,10 @@ ] }, "accounts": { - "type": "array", + "type": [ + "array", + "null" + ], "items": { "title": "EntityConnectExpandableAccount", "oneOf": [ @@ -14760,7 +15234,7 @@ } ] }, - "description": "Expandable. List of account IDs connected through this session." + "description": "Expandable. List of account IDs connected through this session. Null while the connect session is still pending." }, "requested_products": { "type": [ @@ -14782,6 +15256,16 @@ "type": "string" } }, + "files": { + "type": [ + "array", + "null" + ], + "description": "Files associated with this connect session (e.g. manual connect uploads).", + "items": { + "$ref": "#/components/schemas/JsonObject" + } + }, "error": { "type": [ "object", @@ -16113,12 +16597,12 @@ ], "description": "State." }, - "zip": { + "postal_code": { "type": [ "string", "null" ], - "description": "ZIP code." + "description": "Postal code." } } }, @@ -16700,11 +17184,6 @@ "entity_attribute.credit_health_hard_inquiries_value.increased" ] }, - "JsonObject": { - "type": "object", - "description": "Arbitrary JSON object.", - "additionalProperties": true - }, "Event": { "type": "object", "required": [ @@ -17425,6 +17904,14 @@ "format": "date", "description": "The expected or actual settlement date for the destination side of the payment." }, + "destination_posted_date": { + "type": [ + "string", + "null" + ], + "format": "date", + "description": "The date the destination side of the payment was posted." + }, "source_status": { "type": [ "string", @@ -17482,6 +17969,13 @@ "error": { "$ref": "#/components/schemas/PaymentResourceError" }, + "idempotency_key": { + "type": [ + "string", + "null" + ], + "description": "The idempotency key provided when the payment was created, if any." + }, "metadata": { "$ref": "#/components/schemas/Metadata" }, @@ -17920,6 +18414,18 @@ "status": { "$ref": "#/components/schemas/SecretStatus" }, + "error": { + "type": [ + "object", + "null" + ], + "description": "Error details if the secret encountered an error.", + "allOf": [ + { + "$ref": "#/components/schemas/ResourceError" + } + ] + }, "created_at": { "type": "string", "format": "date-time", @@ -17980,55 +18486,21 @@ } ] }, - "TeamProduct": { + "TeamContact": { "type": "object", + "description": "A contact associated with a team.", "properties": { - "type": { + "name": { "type": "string", - "description": "The product type." + "description": "Name of the contact." }, - "enabled": { - "type": "boolean", - "description": "Whether this product is enabled for the team." - } - } - }, - "TeamKey": { - "type": "object", - "properties": { - "id": { + "email": { "type": "string", - "description": "Unique identifier for the key." + "description": "Email address of the contact." }, "type": { "type": "string", - "description": "The key type.", - "enum": [ - "secret", - "public" - ] - }, - "deleted": { - "type": "boolean", - "description": "Whether this key has been deleted." - }, - "created_at": { - "type": "string", - "format": "date-time", - "description": "Timestamp when the key was created." - }, - "updated_at": { - "type": "string", - "format": "date-time", - "description": "Timestamp when the key was last updated." - }, - "last_used_at": { - "type": [ - "string", - "null" - ], - "format": "date-time", - "description": "Timestamp when the key was last used, if ever." + "description": "The contact's role/type (e.g. `Admin`)." } } }, @@ -18040,11 +18512,11 @@ "parent_id", "name", "legal_name", - "logo", - "api_version", + "ein", + "contacts", + "address", "status", - "products", - "keys", + "logo", "created_at", "updated_at" ], @@ -18071,17 +18543,58 @@ "description": "Legal business name of the team.", "example": "My Company Inc." }, - "logo": { + "ein": { "type": [ "string", "null" ], - "description": "URL of the team logo." + "description": "Employer Identification Number for the team." }, - "api_version": { - "type": "string", - "description": "The API version the team is configured to use.", - "example": "2025-12-01" + "contacts": { + "type": "array", + "description": "Contacts associated with the team.", + "items": { + "$ref": "#/components/schemas/TeamContact" + } + }, + "address": { + "type": [ + "object", + "null" + ], + "description": "The team's registered address.", + "properties": { + "line1": { + "type": [ + "string", + "null" + ] + }, + "city": { + "type": [ + "string", + "null" + ] + }, + "state": { + "type": [ + "string", + "null" + ] + }, + "zipcode": { + "type": [ + "string", + "null" + ] + }, + "country": { + "type": [ + "string", + "null" + ] + } + } }, "status": { "type": "string", @@ -18093,19 +18606,12 @@ "pending_disablement" ] }, - "products": { - "type": "array", - "description": "List of products enabled for this team.", - "items": { - "$ref": "#/components/schemas/TeamProduct" - } - }, - "keys": { - "type": "array", - "description": "API keys associated with this team.", - "items": { - "$ref": "#/components/schemas/TeamKey" - } + "logo": { + "type": [ + "string", + "null" + ], + "description": "URL of the team logo." }, "created_at": { "type": "string", @@ -18119,49 +18625,52 @@ } } }, - "TeamResponse": { + "TeamListResponse": { "allOf": [ { - "$ref": "#/components/schemas/SuccessEnvelope" + "$ref": "#/components/schemas/ListEnvelope" }, { "type": "object", "properties": { "data": { - "$ref": "#/components/schemas/Team" + "type": "array", + "items": { + "$ref": "#/components/schemas/Team" + } } } } ], "example": { "success": true, - "data": { - "id": "team_PmL8JBBnQNpYZ", - "parent_id": null, - "name": "My Team", - "legal_name": "My Company Inc.", - "logo": null, - "api_version": "2025-12-01", - "status": "active", - "products": [ - { - "type": "payments", - "enabled": true - } - ], - "keys": [ - { - "id": "key_123", - "type": "secret", - "deleted": false, - "created_at": "2026-01-15T18:30:00.000Z", - "updated_at": "2026-01-15T18:30:00.000Z", - "last_used_at": null - } - ], - "created_at": "2026-01-15T18:30:00.000Z", - "updated_at": "2026-01-15T18:30:00.000Z" - }, + "data": [ + { + "id": "team_PmL8JBBnQNpYZ", + "parent_id": null, + "name": "My Team", + "legal_name": "My Company Inc.", + "ein": "1234567", + "contacts": [ + { + "name": "Jane Doe", + "email": "jane@example.com", + "type": "Admin" + } + ], + "address": { + "line1": null, + "city": null, + "state": null, + "zipcode": null, + "country": null + }, + "status": "active", + "logo": null, + "created_at": "2026-01-15T18:30:00.000Z", + "updated_at": "2026-01-15T18:30:00.000Z" + } + ], "message": null } }, @@ -18178,6 +18687,21 @@ } } }, + "TeamResponse": { + "allOf": [ + { + "$ref": "#/components/schemas/SuccessEnvelope" + }, + { + "type": "object", + "properties": { + "data": { + "$ref": "#/components/schemas/Team" + } + } + } + ] + }, "TeamEncryptionKeyRequest": { "type": "object", "description": "Request body for setting the default encryption key.", @@ -18196,7 +18720,11 @@ "description": "An MLE (Message-Level Encryption) public key for the team.", "required": [ "id", + "type", "jwk", + "well_known_endpoint", + "contact", + "status", "created_at", "updated_at" ], @@ -18205,11 +18733,41 @@ "type": "string", "description": "Unique identifier for the public key." }, + "type": { + "type": "string", + "description": "How the public key is distributed.", + "enum": [ + "direct", + "well_known" + ] + }, "jwk": { - "type": "object", - "description": "JSON Web Key (JWK) representation of the public key.", + "type": [ + "object", + "null" + ], + "description": "JSON Web Key (JWK) representation of the public key. Present when type is direct.", "additionalProperties": true }, + "well_known_endpoint": { + "type": [ + "string", + "null" + ], + "description": "The well-known JWKS endpoint URL. Present when type is well_known." + }, + "contact": { + "type": "string", + "description": "Contact email for this public key registration." + }, + "status": { + "type": "string", + "description": "Current status of the public key.", + "enum": [ + "active", + "deleted" + ] + }, "created_at": { "type": "string", "format": "date-time", @@ -18244,13 +18802,30 @@ "type": "object", "description": "Request body for creating an MLE public key.", "required": [ - "jwk" + "type", + "contact" ], "properties": { + "type": { + "type": "string", + "description": "How the public key should be distributed.", + "enum": [ + "direct", + "well_known" + ] + }, + "contact": { + "type": "string", + "description": "Contact email for this public key registration." + }, "jwk": { "type": "object", - "description": "JSON Web Key (JWK) to register.", + "description": "JSON Web Key (JWK) to register. Required when type is direct.", "additionalProperties": true + }, + "well_known_endpoint": { + "type": "string", + "description": "The well-known JWKS endpoint URL. Required when type is well_known." } } }, diff --git a/latest/openapi.bundled.yaml b/latest/openapi.bundled.yaml index 1f5d762..9089e91 100644 --- a/latest/openapi.bundled.yaml +++ b/latest/openapi.bundled.yaml @@ -1,14 +1,14 @@ openapi: 3.1.0 info: title: Method API - version: '2025-12-01' + version: '2026-03-30' 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. This specification covers the public API - surface for version `2025-12-01`. + surface for version `2026-03-30`. ## Authentication @@ -20,7 +20,7 @@ info: ## Versioning The API version is selected via the `Method-Version` header. This spec targets - version `2025-12-01`. The SDK sets this header automatically. + version `2026-03-30`. The SDK sets this header automatically. ## Response Envelope @@ -53,10 +53,13 @@ info: servers: - url: https://production.methodfi.com description: Production + x-fern-server-name: Production - url: https://sandbox.methodfi.com description: Sandbox + x-fern-server-name: Sandbox - url: https://dev.methodfi.com description: Development + x-fern-server-name: Development security: - SecretKey: [] tags: @@ -246,17 +249,18 @@ paths: type: boolean description: Always `true` for successful responses. data: - type: string - enum: - - pong + type: 'null' message: type: - string - 'null' + enum: + - pong + - null example: success: true - data: pong - message: null + data: null + message: pong '401': $ref: '#/components/responses/Unauthorized' '429': @@ -1079,7 +1083,7 @@ paths: delete: operationId: closeAccountPaymentInstrument summary: Close an account payment instrument - description: Closes an account payment instrument. This endpoint is only available starting with API version `2025-12-01`. + description: Closes an account payment instrument. This endpoint is only available starting with API version `2026-03-30`. tags: - Account Payment Instruments security: @@ -2298,7 +2302,7 @@ paths: post: operationId: createEntityAttributes summary: Create entity attributes - description: Creates a new attribute retrieval for the specified entity. + description: Creates a new attribute retrieval for the specified entity. As of API version `2026-03-30`, this endpoint no longer accepts an `attributes` selector in the request body — all available attributes are requested automatically. tags: - Entity Attributes security: @@ -2307,18 +2311,6 @@ paths: - $ref: '#/components/parameters/method_version' - $ref: '#/components/parameters/idempotency_key' - $ref: '#/components/parameters/EntityIdParam' - requestBody: - required: false - content: - application/json: - schema: - type: object - properties: - attributes: - type: array - description: Specific attributes to request. - items: - type: string responses: '200': description: The created entity attribute. @@ -4629,7 +4621,7 @@ paths: get: operationId: retrieveTeam summary: Retrieve the current team - description: Returns the team associated with the current API key. + description: Returns the team hierarchy (the team associated with the current API key, plus any parent/child teams) as a list. tags: - Teams security: @@ -4638,11 +4630,11 @@ paths: - $ref: '#/components/parameters/method_version' responses: '200': - description: The current team. + description: The team hierarchy for the current API key. content: application/json: schema: - $ref: '#/components/schemas/TeamResponse' + $ref: '#/components/schemas/TeamListResponse' '400': $ref: '#/components/responses/BadRequest' '401': @@ -5369,14 +5361,14 @@ paths: type: object required: - type - - resource_id + - entity_id properties: type: type: string description: The event type to simulate (e.g., `payment.update`). - resource_id: + entity_id: type: string - description: The identifier of the resource to associate with the event. + description: The identifier of the entity to associate with the event. responses: '200': description: The simulated event. @@ -5451,7 +5443,7 @@ paths: Use this to test payment instrument flows during development. **Development only** - This endpoint is only available in the sandbox environment. - This endpoint is available starting with API version `2025-12-01`. + This endpoint is available starting with API version `2026-03-30`. tags: - Simulate Payments security: @@ -5876,13 +5868,13 @@ components: in: header required: true description: | - API version to use for this request. This spec targets `2025-12-01`. + API version to use for this request. This spec targets `2026-03-30`. The SDK sets this header automatically. schema: type: string enum: - - '2025-12-01' - default: '2025-12-01' + - '2026-03-30' + default: '2026-03-30' expand_accounts: name: expand in: query @@ -7448,6 +7440,12 @@ components: - personal_loan - student_loan - student_loans + - collection + - credit_builder + - insurance + - loan + - medical + - utility - bnpl - fintech source: @@ -7885,6 +7883,300 @@ components: type: - string - 'null' + collection: + type: + - object + - 'null' + description: Collection account update data. Present when `type` is `collection`. + properties: + sub_type: + type: + - string + - 'null' + opened_at: + type: + - string + - 'null' + format: date + closed_at: + type: + - string + - 'null' + format: date + balance: + type: + - integer + - 'null' + description: Current balance in cents. + last_payment_amount: + type: + - integer + - 'null' + description: Last payment amount in cents. + last_payment_date: + type: + - string + - 'null' + format: date + next_payment_due_date: + type: + - string + - 'null' + format: date + next_payment_minimum_amount: + type: + - integer + - 'null' + description: Minimum payment due in cents. + interest_rate_type: + type: + - string + - 'null' + credit_builder: + type: + - object + - 'null' + description: Credit builder update data. Present when `type` is `credit_builder`. + properties: + sub_type: + type: + - string + - 'null' + opened_at: + type: + - string + - 'null' + format: date + closed_at: + type: + - string + - 'null' + format: date + balance: + type: + - integer + - 'null' + description: Current balance in cents. + last_payment_amount: + type: + - integer + - 'null' + description: Last payment amount in cents. + last_payment_date: + type: + - string + - 'null' + format: date + next_payment_due_date: + type: + - string + - 'null' + format: date + next_payment_minimum_amount: + type: + - integer + - 'null' + description: Minimum payment due in cents. + interest_rate_type: + type: + - string + - 'null' + insurance: + type: + - object + - 'null' + description: Insurance update data. Present when `type` is `insurance`. + properties: + sub_type: + type: + - string + - 'null' + opened_at: + type: + - string + - 'null' + format: date + closed_at: + type: + - string + - 'null' + format: date + balance: + type: + - integer + - 'null' + description: Current balance in cents. + last_payment_amount: + type: + - integer + - 'null' + description: Last payment amount in cents. + last_payment_date: + type: + - string + - 'null' + format: date + next_payment_due_date: + type: + - string + - 'null' + format: date + next_payment_minimum_amount: + type: + - integer + - 'null' + description: Minimum payment due in cents. + interest_rate_type: + type: + - string + - 'null' + loan: + type: + - object + - 'null' + description: Loan update data. Present when `type` is `loan`. + properties: + sub_type: + type: + - string + - 'null' + opened_at: + type: + - string + - 'null' + format: date + closed_at: + type: + - string + - 'null' + format: date + balance: + type: + - integer + - 'null' + description: Current balance in cents. + last_payment_amount: + type: + - integer + - 'null' + description: Last payment amount in cents. + last_payment_date: + type: + - string + - 'null' + format: date + next_payment_due_date: + type: + - string + - 'null' + format: date + next_payment_minimum_amount: + type: + - integer + - 'null' + description: Minimum payment due in cents. + interest_rate_type: + type: + - string + - 'null' + medical: + type: + - object + - 'null' + description: Medical update data. Present when `type` is `medical`. + properties: + sub_type: + type: + - string + - 'null' + opened_at: + type: + - string + - 'null' + format: date + closed_at: + type: + - string + - 'null' + format: date + balance: + type: + - integer + - 'null' + description: Current balance in cents. + last_payment_amount: + type: + - integer + - 'null' + description: Last payment amount in cents. + last_payment_date: + type: + - string + - 'null' + format: date + next_payment_due_date: + type: + - string + - 'null' + format: date + next_payment_minimum_amount: + type: + - integer + - 'null' + description: Minimum payment due in cents. + interest_rate_type: + type: + - string + - 'null' + utility: + type: + - object + - 'null' + description: Utility update data. Present when `type` is `utility`. + properties: + sub_type: + type: + - string + - 'null' + opened_at: + type: + - string + - 'null' + format: date + closed_at: + type: + - string + - 'null' + format: date + balance: + type: + - integer + - 'null' + description: Current balance in cents. + last_payment_amount: + type: + - integer + - 'null' + description: Last payment amount in cents. + last_payment_date: + type: + - string + - 'null' + format: date + next_payment_due_date: + type: + - string + - 'null' + format: date + next_payment_minimum_amount: + type: + - integer + - 'null' + description: Minimum payment due in cents. + interest_rate_type: + type: + - string + - 'null' bnpl: type: - object @@ -8020,7 +8312,6 @@ components: - account_id - status - type - - fields - created_at - updated_at properties: @@ -8043,18 +8334,37 @@ components: type: type: string description: The type of sensitive data. - fields: - type: array - description: List of sensitive data fields retrieved. - items: - type: object - properties: - name: - type: string - description: Name of the field. - value: - type: string - description: Value of the field. + credit_card: + type: + - object + - 'null' + description: Card details. Present when type is credit_card. + properties: + number: + type: + - string + - 'null' + description: The card number. + exp_month: + type: + - string + - 'null' + description: Card expiration month. + exp_year: + type: + - string + - 'null' + description: Card expiration year. + cvv: + type: + - string + - 'null' + description: Card CVV. + billing_zip_code: + type: + - string + - 'null' + description: Billing zip code. error: $ref: '#/components/schemas/AccountSensitiveResourceError' created_at: @@ -8608,18 +8918,20 @@ components: type: object description: A product associated with an account. required: - - id - name - status - status_error - - capabilities - - reportable + - is_subscribable + - latest_request_id + - latest_successful_request_id - created_at - updated_at properties: id: - type: string - description: Unique identifier for the product. + type: + - string + - 'null' + description: Unique identifier for the product, if applicable. pattern: ^prd_\w+$ example: prd_aTJMbnCjw34yQ name: @@ -8634,14 +8946,19 @@ components: - restricted status_error: $ref: '#/components/schemas/ProductResourceError' - capabilities: - type: array - description: Capabilities provided by this product. - items: - type: string - reportable: + is_subscribable: type: boolean - description: Whether this product generates reportable data. + description: Whether this product can be subscribed to for ongoing updates. + latest_request_id: + type: + - string + - 'null' + description: ID of the latest request made for this product. + latest_successful_request_id: + type: + - string + - 'null' + description: ID of the latest successful request made for this product. created_at: type: string format: date-time @@ -8694,6 +9011,10 @@ components: properties: data: $ref: '#/components/schemas/AccountSensitive' + JsonObject: + type: object + description: Arbitrary JSON object. + additionalProperties: true AccountSubscription: type: object description: A subscription for an account. @@ -8724,6 +9045,13 @@ components: - string - 'null' description: ID of the latest request triggered by this subscription. + payload: + type: + - object + - 'null' + description: Configuration payload provided when the subscription was created, if any. + allOf: + - $ref: '#/components/schemas/JsonObject' created_at: type: string format: date-time @@ -8846,6 +9174,11 @@ components: - string - 'null' description: The transaction descriptor. + merchant_category_code: + type: + - string + - 'null' + description: The merchant category code (MCC) for this transaction. transacted_at: type: - string @@ -9587,14 +9920,16 @@ components: - pending - failed accounts: - type: array + type: + - array + - 'null' items: title: EntityConnectExpandableAccount oneOf: - type: string pattern: ^acc_\w+$ - $ref: '#/components/schemas/Account' - description: Expandable. List of account IDs connected through this session. + description: Expandable. List of account IDs connected through this session. Null while the connect session is still pending. requested_products: type: - array @@ -9609,6 +9944,13 @@ components: description: Subscriptions requested for this connect session. items: type: string + files: + type: + - array + - 'null' + description: Files associated with this connect session (e.g. manual connect uploads). + items: + $ref: '#/components/schemas/JsonObject' error: type: - object @@ -10518,11 +10860,11 @@ components: - string - 'null' description: State. - zip: + postal_code: type: - string - 'null' - description: ZIP code. + description: Postal code. ssn: type: - string @@ -10927,10 +11269,6 @@ components: - entity_attribute.credit_health_soft_inquiries_value.increased - entity_attribute.credit_health_hard_inquiries_value.decreased - entity_attribute.credit_health_hard_inquiries_value.increased - JsonObject: - type: object - description: Arbitrary JSON object. - additionalProperties: true Event: type: object required: @@ -11437,6 +11775,12 @@ components: - 'null' format: date description: The expected or actual settlement date for the destination side of the payment. + destination_posted_date: + type: + - string + - 'null' + format: date + description: The date the destination side of the payment was posted. source_status: type: - string @@ -11478,6 +11822,11 @@ components: - clearing error: $ref: '#/components/schemas/PaymentResourceError' + idempotency_key: + type: + - string + - 'null' + description: The idempotency key provided when the payment was created, if any. metadata: $ref: '#/components/schemas/Metadata' created_at: @@ -11794,6 +12143,13 @@ components: $ref: '#/components/schemas/Metadata' status: $ref: '#/components/schemas/SecretStatus' + error: + type: + - object + - 'null' + description: Error details if the secret encountered an error. + allOf: + - $ref: '#/components/schemas/ResourceError' created_at: type: string format: date-time @@ -11828,44 +12184,19 @@ components: properties: data: $ref: '#/components/schemas/Secret' - TeamProduct: + TeamContact: type: object + description: A contact associated with a team. properties: - type: + name: type: string - description: The product type. - enabled: - type: boolean - description: Whether this product is enabled for the team. - TeamKey: - type: object - properties: - id: + description: Name of the contact. + email: type: string - description: Unique identifier for the key. + description: Email address of the contact. type: type: string - description: The key type. - enum: - - secret - - public - deleted: - type: boolean - description: Whether this key has been deleted. - created_at: - type: string - format: date-time - description: Timestamp when the key was created. - updated_at: - type: string - format: date-time - description: Timestamp when the key was last updated. - last_used_at: - type: - - string - - 'null' - format: date-time - description: Timestamp when the key was last used, if ever. + description: The contact's role/type (e.g. `Admin`). Team: type: object description: A Team represents your organization and its API configuration. @@ -11874,11 +12205,11 @@ components: - parent_id - name - legal_name - - logo - - api_version + - ein + - contacts + - address - status - - products - - keys + - logo - created_at - updated_at properties: @@ -11899,15 +12230,42 @@ components: type: string description: Legal business name of the team. example: My Company Inc. - logo: + ein: type: - string - 'null' - description: URL of the team logo. - api_version: - type: string - description: The API version the team is configured to use. - example: '2025-12-01' + description: Employer Identification Number for the team. + contacts: + type: array + description: Contacts associated with the team. + items: + $ref: '#/components/schemas/TeamContact' + address: + type: + - object + - 'null' + description: The team's registered address. + properties: + line1: + type: + - string + - 'null' + city: + type: + - string + - 'null' + state: + type: + - string + - 'null' + zipcode: + type: + - string + - 'null' + country: + type: + - string + - 'null' status: type: string description: Current status of the team. @@ -11916,16 +12274,11 @@ components: - verified - disabled - pending_disablement - products: - type: array - description: List of products enabled for this team. - items: - $ref: '#/components/schemas/TeamProduct' - keys: - type: array - description: API keys associated with this team. - items: - $ref: '#/components/schemas/TeamKey' + logo: + type: + - string + - 'null' + description: URL of the team logo. created_at: type: string format: date-time @@ -11934,35 +12287,37 @@ components: type: string format: date-time description: Timestamp when the team was last updated. - TeamResponse: + TeamListResponse: allOf: - - $ref: '#/components/schemas/SuccessEnvelope' + - $ref: '#/components/schemas/ListEnvelope' - type: object properties: data: - $ref: '#/components/schemas/Team' + type: array + items: + $ref: '#/components/schemas/Team' example: success: true data: - id: team_PmL8JBBnQNpYZ - parent_id: null - name: My Team - legal_name: My Company Inc. - logo: null - api_version: '2025-12-01' - status: active - products: - - type: payments - enabled: true - keys: - - id: key_123 - type: secret - deleted: false - created_at: '2026-01-15T18:30:00.000Z' - updated_at: '2026-01-15T18:30:00.000Z' - last_used_at: null - created_at: '2026-01-15T18:30:00.000Z' - updated_at: '2026-01-15T18:30:00.000Z' + - id: team_PmL8JBBnQNpYZ + parent_id: null + name: My Team + legal_name: My Company Inc. + ein: '1234567' + contacts: + - name: Jane Doe + email: jane@example.com + type: Admin + address: + line1: null + city: null + state: null + zipcode: null + country: null + status: active + logo: null + created_at: '2026-01-15T18:30:00.000Z' + updated_at: '2026-01-15T18:30:00.000Z' message: null TeamCreateRequest: type: object @@ -11973,6 +12328,13 @@ components: name: type: string description: Display name for the new child team. + TeamResponse: + allOf: + - $ref: '#/components/schemas/SuccessEnvelope' + - type: object + properties: + data: + $ref: '#/components/schemas/Team' TeamEncryptionKeyRequest: type: object description: Request body for setting the default encryption key. @@ -11987,17 +12349,43 @@ components: description: An MLE (Message-Level Encryption) public key for the team. required: - id + - type - jwk + - well_known_endpoint + - contact + - status - created_at - updated_at properties: id: type: string description: Unique identifier for the public key. + type: + type: string + description: How the public key is distributed. + enum: + - direct + - well_known jwk: - type: object - description: JSON Web Key (JWK) representation of the public key. + type: + - object + - 'null' + description: JSON Web Key (JWK) representation of the public key. Present when type is direct. additionalProperties: true + well_known_endpoint: + type: + - string + - 'null' + description: The well-known JWKS endpoint URL. Present when type is well_known. + contact: + type: string + description: Contact email for this public key registration. + status: + type: string + description: Current status of the public key. + enum: + - active + - deleted created_at: type: string format: date-time @@ -12019,12 +12407,25 @@ components: type: object description: Request body for creating an MLE public key. required: - - jwk + - type + - contact properties: + type: + type: string + description: How the public key should be distributed. + enum: + - direct + - well_known + contact: + type: string + description: Contact email for this public key registration. jwk: type: object - description: JSON Web Key (JWK) to register. + description: JSON Web Key (JWK) to register. Required when type is direct. additionalProperties: true + well_known_endpoint: + type: string + description: The well-known JWKS endpoint URL. Required when type is well_known. MLEPublicKeyResponse: allOf: - $ref: '#/components/schemas/SuccessEnvelope' diff --git a/openapi/components/parameters/method_version.yaml b/openapi/components/parameters/method_version.yaml index 7856c64..5425e35 100644 --- a/openapi/components/parameters/method_version.yaml +++ b/openapi/components/parameters/method_version.yaml @@ -2,10 +2,10 @@ name: Method-Version in: header required: true description: | - API version to use for this request. This spec targets `2025-12-01`. + API version to use for this request. This spec targets `2026-03-30`. The SDK sets this header automatically. schema: type: string enum: - - '2025-12-01' - default: '2025-12-01' + - '2026-03-30' + default: '2026-03-30' diff --git a/openapi/components/schemas/account.yaml b/openapi/components/schemas/account.yaml index 46b17c7..61b5b26 100644 --- a/openapi/components/schemas/account.yaml +++ b/openapi/components/schemas/account.yaml @@ -986,18 +986,20 @@ AccountProduct: type: object description: A product associated with an account. required: - - id - name - status - status_error - - capabilities - - reportable + - is_subscribable + - latest_request_id + - latest_successful_request_id - created_at - updated_at properties: id: - type: string - description: Unique identifier for the product. + type: + - string + - 'null' + description: Unique identifier for the product, if applicable. pattern: ^prd_\w+$ example: prd_aTJMbnCjw34yQ name: @@ -1012,14 +1014,19 @@ AccountProduct: - restricted status_error: $ref: errors/account_errors.yaml#/ProductResourceError - capabilities: - type: array - description: Capabilities provided by this product. - items: - type: string - reportable: + is_subscribable: type: boolean - description: Whether this product generates reportable data. + description: Whether this product can be subscribed to for ongoing updates. + latest_request_id: + type: + - string + - 'null' + description: ID of the latest request made for this product. + latest_successful_request_id: + type: + - string + - 'null' + description: ID of the latest successful request made for this product. created_at: type: string format: date-time @@ -1053,7 +1060,6 @@ AccountSensitive: - account_id - status - type - - fields - created_at - updated_at properties: @@ -1076,18 +1082,37 @@ AccountSensitive: type: type: string description: The type of sensitive data. - fields: - type: array - description: List of sensitive data fields retrieved. - items: - type: object - properties: - name: - type: string - description: Name of the field. - value: - type: string - description: Value of the field. + credit_card: + type: + - object + - 'null' + description: Card details. Present when type is credit_card. + properties: + number: + type: + - string + - 'null' + description: The card number. + exp_month: + type: + - string + - 'null' + description: Card expiration month. + exp_year: + type: + - string + - 'null' + description: Card expiration year. + cvv: + type: + - string + - 'null' + description: Card CVV. + billing_zip_code: + type: + - string + - 'null' + description: Billing zip code. error: $ref: errors/account_errors.yaml#/AccountSensitiveResourceError created_at: @@ -1155,6 +1180,13 @@ AccountSubscription: - string - 'null' description: ID of the latest request triggered by this subscription. + payload: + type: + - object + - 'null' + description: Configuration payload provided when the subscription was created, if any. + allOf: + - $ref: common.yaml#/JsonObject created_at: type: string format: date-time @@ -1277,6 +1309,11 @@ AccountTransaction: - string - 'null' description: The transaction descriptor. + merchant_category_code: + type: + - string + - 'null' + description: The merchant category code (MCC) for this transaction. transacted_at: type: - string @@ -1361,6 +1398,12 @@ AccountUpdate: - personal_loan - student_loan - student_loans + - collection + - credit_builder + - insurance + - loan + - medical + - utility - bnpl - fintech source: @@ -1798,6 +1841,300 @@ AccountUpdate: type: - string - 'null' + collection: + type: + - object + - 'null' + description: Collection account update data. Present when `type` is `collection`. + properties: + sub_type: + type: + - string + - 'null' + opened_at: + type: + - string + - 'null' + format: date + closed_at: + type: + - string + - 'null' + format: date + balance: + type: + - integer + - 'null' + description: Current balance in cents. + last_payment_amount: + type: + - integer + - 'null' + description: Last payment amount in cents. + last_payment_date: + type: + - string + - 'null' + format: date + next_payment_due_date: + type: + - string + - 'null' + format: date + next_payment_minimum_amount: + type: + - integer + - 'null' + description: Minimum payment due in cents. + interest_rate_type: + type: + - string + - 'null' + credit_builder: + type: + - object + - 'null' + description: Credit builder update data. Present when `type` is `credit_builder`. + properties: + sub_type: + type: + - string + - 'null' + opened_at: + type: + - string + - 'null' + format: date + closed_at: + type: + - string + - 'null' + format: date + balance: + type: + - integer + - 'null' + description: Current balance in cents. + last_payment_amount: + type: + - integer + - 'null' + description: Last payment amount in cents. + last_payment_date: + type: + - string + - 'null' + format: date + next_payment_due_date: + type: + - string + - 'null' + format: date + next_payment_minimum_amount: + type: + - integer + - 'null' + description: Minimum payment due in cents. + interest_rate_type: + type: + - string + - 'null' + insurance: + type: + - object + - 'null' + description: Insurance update data. Present when `type` is `insurance`. + properties: + sub_type: + type: + - string + - 'null' + opened_at: + type: + - string + - 'null' + format: date + closed_at: + type: + - string + - 'null' + format: date + balance: + type: + - integer + - 'null' + description: Current balance in cents. + last_payment_amount: + type: + - integer + - 'null' + description: Last payment amount in cents. + last_payment_date: + type: + - string + - 'null' + format: date + next_payment_due_date: + type: + - string + - 'null' + format: date + next_payment_minimum_amount: + type: + - integer + - 'null' + description: Minimum payment due in cents. + interest_rate_type: + type: + - string + - 'null' + loan: + type: + - object + - 'null' + description: Loan update data. Present when `type` is `loan`. + properties: + sub_type: + type: + - string + - 'null' + opened_at: + type: + - string + - 'null' + format: date + closed_at: + type: + - string + - 'null' + format: date + balance: + type: + - integer + - 'null' + description: Current balance in cents. + last_payment_amount: + type: + - integer + - 'null' + description: Last payment amount in cents. + last_payment_date: + type: + - string + - 'null' + format: date + next_payment_due_date: + type: + - string + - 'null' + format: date + next_payment_minimum_amount: + type: + - integer + - 'null' + description: Minimum payment due in cents. + interest_rate_type: + type: + - string + - 'null' + medical: + type: + - object + - 'null' + description: Medical update data. Present when `type` is `medical`. + properties: + sub_type: + type: + - string + - 'null' + opened_at: + type: + - string + - 'null' + format: date + closed_at: + type: + - string + - 'null' + format: date + balance: + type: + - integer + - 'null' + description: Current balance in cents. + last_payment_amount: + type: + - integer + - 'null' + description: Last payment amount in cents. + last_payment_date: + type: + - string + - 'null' + format: date + next_payment_due_date: + type: + - string + - 'null' + format: date + next_payment_minimum_amount: + type: + - integer + - 'null' + description: Minimum payment due in cents. + interest_rate_type: + type: + - string + - 'null' + utility: + type: + - object + - 'null' + description: Utility update data. Present when `type` is `utility`. + properties: + sub_type: + type: + - string + - 'null' + opened_at: + type: + - string + - 'null' + format: date + closed_at: + type: + - string + - 'null' + format: date + balance: + type: + - integer + - 'null' + description: Current balance in cents. + last_payment_amount: + type: + - integer + - 'null' + description: Last payment amount in cents. + last_payment_date: + type: + - string + - 'null' + format: date + next_payment_due_date: + type: + - string + - 'null' + format: date + next_payment_minimum_amount: + type: + - integer + - 'null' + description: Minimum payment due in cents. + interest_rate_type: + type: + - string + - 'null' bnpl: type: - object diff --git a/openapi/components/schemas/entity.yaml b/openapi/components/schemas/entity.yaml index 0bd7cc9..29b8b4d 100644 --- a/openapi/components/schemas/entity.yaml +++ b/openapi/components/schemas/entity.yaml @@ -655,14 +655,18 @@ EntityConnect: - pending - failed accounts: - type: array + type: + - array + - 'null' items: title: EntityConnectExpandableAccount oneOf: - type: string pattern: ^acc_\w+$ - $ref: account.yaml#/Account - description: Expandable. List of account IDs connected through this session. + description: >- + Expandable. List of account IDs connected through this session. Null + while the connect session is still pending. requested_products: type: - array @@ -677,6 +681,13 @@ EntityConnect: description: Subscriptions requested for this connect session. items: type: string + files: + type: + - array + - 'null' + description: Files associated with this connect session (e.g. manual connect uploads). + items: + $ref: common.yaml#/JsonObject error: type: - object @@ -861,11 +872,11 @@ EntityIdentity: - string - 'null' description: State. - zip: + postal_code: type: - string - 'null' - description: ZIP code. + description: Postal code. ssn: type: - string diff --git a/openapi/components/schemas/payment.yaml b/openapi/components/schemas/payment.yaml index 926e18b..2d6d9ee 100644 --- a/openapi/components/schemas/payment.yaml +++ b/openapi/components/schemas/payment.yaml @@ -126,6 +126,12 @@ Payment: - 'null' format: date description: The expected or actual settlement date for the destination side of the payment. + destination_posted_date: + type: + - string + - 'null' + format: date + description: The date the destination side of the payment was posted. source_status: type: - string @@ -167,6 +173,11 @@ Payment: - clearing error: $ref: errors/payment_errors.yaml#/PaymentResourceError + idempotency_key: + type: + - string + - 'null' + description: The idempotency key provided when the payment was created, if any. metadata: $ref: common.yaml#/Metadata created_at: diff --git a/openapi/components/schemas/secret.yaml b/openapi/components/schemas/secret.yaml index c12dacb..fa610ba 100644 --- a/openapi/components/schemas/secret.yaml +++ b/openapi/components/schemas/secret.yaml @@ -15,6 +15,13 @@ Secret: $ref: 'common.yaml#/Metadata' status: $ref: '#/SecretStatus' + error: + type: + - object + - 'null' + description: Error details if the secret encountered an error. + allOf: + - $ref: common.yaml#/ResourceError created_at: type: string format: date-time diff --git a/openapi/components/schemas/team.yaml b/openapi/components/schemas/team.yaml index 06ce755..9ca7036 100644 --- a/openapi/components/schemas/team.yaml +++ b/openapi/components/schemas/team.yaml @@ -6,11 +6,11 @@ Team: - parent_id - name - legal_name - - logo - - api_version + - ein + - contacts + - address - status - - products - - keys + - logo - created_at - updated_at properties: @@ -31,15 +31,42 @@ Team: type: string description: Legal business name of the team. example: My Company Inc. - logo: + ein: type: - string - 'null' - description: URL of the team logo. - api_version: - type: string - description: The API version the team is configured to use. - example: '2025-12-01' + description: Employer Identification Number for the team. + contacts: + type: array + description: Contacts associated with the team. + items: + $ref: '#/TeamContact' + address: + type: + - object + - 'null' + description: The team's registered address. + properties: + line1: + type: + - string + - 'null' + city: + type: + - string + - 'null' + state: + type: + - string + - 'null' + zipcode: + type: + - string + - 'null' + country: + type: + - string + - 'null' status: type: string description: Current status of the team. @@ -48,16 +75,11 @@ Team: - verified - disabled - pending_disablement - products: - type: array - description: List of products enabled for this team. - items: - $ref: '#/TeamProduct' - keys: - type: array - description: API keys associated with this team. - items: - $ref: '#/TeamKey' + logo: + type: + - string + - 'null' + description: URL of the team logo. created_at: type: string format: date-time @@ -66,44 +88,19 @@ Team: type: string format: date-time description: Timestamp when the team was last updated. -TeamProduct: +TeamContact: type: object + description: A contact associated with a team. properties: - type: + name: type: string - description: The product type. - enabled: - type: boolean - description: Whether this product is enabled for the team. -TeamKey: - type: object - properties: - id: + description: Name of the contact. + email: type: string - description: Unique identifier for the key. + description: Email address of the contact. type: type: string - description: The key type. - enum: - - secret - - public - deleted: - type: boolean - description: Whether this key has been deleted. - created_at: - type: string - format: date-time - description: Timestamp when the key was created. - updated_at: - type: string - format: date-time - description: Timestamp when the key was last updated. - last_used_at: - type: - - string - - 'null' - format: date-time - description: Timestamp when the key was last used, if ever. + description: The contact's role/type (e.g. `Admin`). TeamCreateRequest: type: object description: Request body for creating a child team. @@ -127,17 +124,43 @@ MLEPublicKey: description: An MLE (Message-Level Encryption) public key for the team. required: - id + - type - jwk + - well_known_endpoint + - contact + - status - created_at - updated_at properties: id: type: string description: Unique identifier for the public key. + type: + type: string + description: How the public key is distributed. + enum: + - direct + - well_known jwk: - type: object - description: JSON Web Key (JWK) representation of the public key. + type: + - object + - 'null' + description: JSON Web Key (JWK) representation of the public key. Present when type is direct. additionalProperties: true + well_known_endpoint: + type: + - string + - 'null' + description: The well-known JWKS endpoint URL. Present when type is well_known. + contact: + type: string + description: Contact email for this public key registration. + status: + type: string + description: Current status of the public key. + enum: + - active + - deleted created_at: type: string format: date-time @@ -150,12 +173,25 @@ MLEPublicKeyCreateRequest: type: object description: Request body for creating an MLE public key. required: - - jwk + - type + - contact properties: + type: + type: string + description: How the public key should be distributed. + enum: + - direct + - well_known + contact: + type: string + description: Contact email for this public key registration. jwk: type: object - description: JSON Web Key (JWK) to register. + description: JSON Web Key (JWK) to register. Required when type is direct. additionalProperties: true + well_known_endpoint: + type: string + description: The well-known JWKS endpoint URL. Required when type is well_known. TeamResponse: allOf: - $ref: common.yaml#/SuccessEnvelope @@ -163,26 +199,35 @@ TeamResponse: properties: data: $ref: '#/Team' +TeamListResponse: + allOf: + - $ref: common.yaml#/ListEnvelope + - type: object + properties: + data: + type: array + items: + $ref: '#/Team' example: success: true data: - id: team_PmL8JBBnQNpYZ + - id: team_PmL8JBBnQNpYZ parent_id: null name: My Team legal_name: My Company Inc. - logo: null - api_version: '2025-12-01' + ein: '1234567' + contacts: + - name: Jane Doe + email: jane@example.com + type: Admin + address: + line1: null + city: null + state: null + zipcode: null + country: null status: active - products: - - type: payments - enabled: true - keys: - - id: key_123 - type: secret - deleted: false - created_at: '2026-01-15T18:30:00.000Z' - updated_at: '2026-01-15T18:30:00.000Z' - last_used_at: null + logo: null created_at: '2026-01-15T18:30:00.000Z' updated_at: '2026-01-15T18:30:00.000Z' message: null diff --git a/openapi/openapi.yaml b/openapi/openapi.yaml index 05e1610..f6abfe8 100644 --- a/openapi/openapi.yaml +++ b/openapi/openapi.yaml @@ -1,11 +1,11 @@ openapi: 3.1.0 info: title: Method API - version: '2025-12-01' + version: '2026-03-30' license: name: Proprietary url: https://methodfi.com - description: "The Method API enables you to retrieve financial data, create payments, and manage\nentities and accounts programmatically. This specification covers the public API\nsurface for version `2025-12-01`.\n\n## Authentication\n\nMost API requests require a Bearer token in the `Authorization` header.\nUse your secret key (`sk_...`) for server-side requests and public key (`pk_...`)\nfor client-side Element requests. Public Message-Level Encryption key discovery\nendpoints are documented separately and do not require authentication.\n\n## Versioning\n\nThe API version is selected via the `Method-Version` header. This spec targets\nversion `2025-12-01`. The SDK sets this header automatically.\n\n## Response Envelope\n\nMost JSON responses are wrapped in a standard envelope:\n\n```json\n{\n \"success\": true,\n \"data\": { ... },\n \"message\": null\n}\n```\n\nThe `/.well-known/jwks.json` endpoint is an exception and returns a bare JWK set.\n\n## Pagination\n\nList endpoints return pagination metadata in response headers:\n`Pagination-Page`, `Pagination-Page-Count`, `Pagination-Page-Limit`,\n`Pagination-Total-Count`, `Pagination-Page-Cursor-Prev`, `Pagination-Page-Cursor-Next`.\n\n##\ + description: "The Method API enables you to retrieve financial data, create payments, and manage\nentities and accounts programmatically. This specification covers the public API\nsurface for version `2026-03-30`.\n\n## Authentication\n\nMost API requests require a Bearer token in the `Authorization` header.\nUse your secret key (`sk_...`) for server-side requests and public key (`pk_...`)\nfor client-side Element requests. Public Message-Level Encryption key discovery\nendpoints are documented separately and do not require authentication.\n\n## Versioning\n\nThe API version is selected via the `Method-Version` header. This spec targets\nversion `2026-03-30`. The SDK sets this header automatically.\n\n## Response Envelope\n\nMost JSON responses are wrapped in a standard envelope:\n\n```json\n{\n \"success\": true,\n \"data\": { ... },\n \"message\": null\n}\n```\n\nThe `/.well-known/jwks.json` endpoint is an exception and returns a bare JWK set.\n\n## Pagination\n\nList endpoints return pagination metadata in response headers:\n`Pagination-Page`, `Pagination-Page-Count`, `Pagination-Page-Limit`,\n`Pagination-Total-Count`, `Pagination-Page-Cursor-Prev`, `Pagination-Page-Cursor-Next`.\n\n##\ \ Expandable Fields\n\nCertain resource fields can be expanded from IDs to full objects using the\n`expand` query parameter. Maximum nesting depth is 4 levels.\n" contact: name: Method Financial @@ -14,10 +14,13 @@ info: servers: - url: https://production.methodfi.com description: Production + x-fern-server-name: Production - url: https://sandbox.methodfi.com description: Sandbox + x-fern-server-name: Sandbox - url: https://dev.methodfi.com description: Development + x-fern-server-name: Development security: - SecretKey: [] tags: diff --git a/openapi/paths/account_payment_instruments.yaml b/openapi/paths/account_payment_instruments.yaml index 17729ab..96d4140 100644 --- a/openapi/paths/account_payment_instruments.yaml +++ b/openapi/paths/account_payment_instruments.yaml @@ -113,7 +113,7 @@ individual: delete: operationId: closeAccountPaymentInstrument summary: Close an account payment instrument - description: Closes an account payment instrument. This endpoint is only available starting with API version `2025-12-01`. + description: Closes an account payment instrument. This endpoint is only available starting with API version `2026-03-30`. tags: - Account Payment Instruments security: diff --git a/openapi/paths/entity_attributes.yaml b/openapi/paths/entity_attributes.yaml index 3a9fa56..4526d69 100644 --- a/openapi/paths/entity_attributes.yaml +++ b/openapi/paths/entity_attributes.yaml @@ -39,7 +39,10 @@ collection: post: operationId: createEntityAttributes summary: Create entity attributes - description: Creates a new attribute retrieval for the specified entity. + description: >- + Creates a new attribute retrieval for the specified entity. As of API version + `2026-03-30`, this endpoint no longer accepts an `attributes` selector in the + request body — all available attributes are requested automatically. tags: - Entity Attributes security: @@ -48,18 +51,6 @@ collection: - $ref: ../components/parameters/method_version.yaml - $ref: ../components/parameters/idempotency_key.yaml - $ref: ../components/parameters/path_ids.yaml#/EntityIdParam - requestBody: - required: false - content: - application/json: - schema: - type: object - properties: - attributes: - type: array - description: Specific attributes to request. - items: - type: string responses: '200': description: The created entity attribute. diff --git a/openapi/paths/ping.yaml b/openapi/paths/ping.yaml index 57c89a5..0bf3fce 100644 --- a/openapi/paths/ping.yaml +++ b/openapi/paths/ping.yaml @@ -22,17 +22,18 @@ get: type: boolean description: Always `true` for successful responses. data: - type: string - enum: - - pong + type: 'null' message: type: - string - 'null' + enum: + - pong + - null example: success: true - data: pong - message: null + data: null + message: pong '401': $ref: ../components/responses/error.yaml#/Unauthorized '429': diff --git a/openapi/paths/simulate/events.yaml b/openapi/paths/simulate/events.yaml index bc34aa1..fb0e61c 100644 --- a/openapi/paths/simulate/events.yaml +++ b/openapi/paths/simulate/events.yaml @@ -20,14 +20,14 @@ post: type: object required: - type - - resource_id + - entity_id properties: type: type: string description: The event type to simulate (e.g., `payment.update`). - resource_id: + entity_id: type: string - description: The identifier of the resource to associate with the event. + description: The identifier of the entity to associate with the event. responses: '200': description: The simulated event. diff --git a/openapi/paths/simulate/payments.yaml b/openapi/paths/simulate/payments.yaml index ba29326..a81e701 100644 --- a/openapi/paths/simulate/payments.yaml +++ b/openapi/paths/simulate/payments.yaml @@ -60,7 +60,7 @@ payment_instrument: Use this to test payment instrument flows during development. **Development only** - This endpoint is only available in the sandbox environment. - This endpoint is available starting with API version `2025-12-01`. + This endpoint is available starting with API version `2026-03-30`. tags: - Simulate Payments security: diff --git a/openapi/paths/teams.yaml b/openapi/paths/teams.yaml index 4e3ded0..cd56631 100644 --- a/openapi/paths/teams.yaml +++ b/openapi/paths/teams.yaml @@ -2,7 +2,9 @@ root: get: operationId: retrieveTeam summary: Retrieve the current team - description: Returns the team associated with the current API key. + description: >- + Returns the team hierarchy (the team associated with the current API key, + plus any parent/child teams) as a list. tags: - Teams security: @@ -11,11 +13,11 @@ root: - $ref: ../components/parameters/method_version.yaml responses: '200': - description: The current team. + description: The team hierarchy for the current API key. content: application/json: schema: - $ref: ../components/schemas/team.yaml#/TeamResponse + $ref: ../components/schemas/team.yaml#/TeamListResponse '400': $ref: ../components/responses/error.yaml#/BadRequest '401':