OpenAPI Specification
openapi: 3.1.0
info:
title: Method Account Attributes Simulate Entities 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\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"
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: Simulate Entities
description: Sandbox entity simulation
paths:
/simulate/entities/{entity_id}/credit_scores/{crs_id}:
post:
operationId: simulateEntityCreditScore
summary: Simulate a credit score
description: 'Simulates a credit score result for an entity in the sandbox environment.
Use this to test credit score retrieval flows during development.
**Development only** - This endpoint is only available in the sandbox environment.
'
tags:
- Simulate Entities
security:
- SecretKey: []
parameters:
- $ref: '#/components/parameters/method_version'
- name: entity_id
in: path
required: true
description: Unique identifier for the entity.
schema:
type: string
pattern: ^ent_\w+$
- name: crs_id
in: path
required: true
description: Unique identifier for the credit score resource.
schema:
type: string
pattern: ^crs_\w+$
requestBody:
required: true
content:
application/json:
schema:
type: object
required:
- score
properties:
score:
type: integer
description: The credit score value to simulate.
minimum: 300
maximum: 850
status:
type: string
description: The status to set on the credit score resource.
responses:
'200':
description: The simulated credit score result.
content:
application/json:
schema:
$ref: '#/components/schemas/EntityCreditScoreResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
/simulate/entities/{entity_id}/connect:
post:
operationId: simulateEntityConnect
summary: Simulate entity connect
description: 'Simulates the entity connect flow in the sandbox environment.
Use this to test account discovery and connection flows during development.
**Development only** - This endpoint is only available in the sandbox environment.
'
tags:
- Simulate Entities
security:
- SecretKey: []
parameters:
- $ref: '#/components/parameters/method_version'
- name: entity_id
in: path
required: true
description: Unique identifier for the entity.
schema:
type: string
pattern: ^ent_\w+$
responses:
'200':
description: The simulated connect result.
content:
application/json:
schema:
$ref: '#/components/schemas/EntityConnectResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
/simulate/entities/{entity_id}/attributes:
post:
operationId: simulateEntityAttributes
summary: Simulate entity attributes
description: 'Simulates attribute data for an entity in the sandbox environment.
Use this to test attribute retrieval flows during development.
**Development only** - This endpoint is only available in the sandbox environment.
'
tags:
- Simulate Entities
security:
- SecretKey: []
parameters:
- $ref: '#/components/parameters/method_version'
- name: entity_id
in: path
required: true
description: Unique identifier for the entity.
schema:
type: string
pattern: ^ent_\w+$
responses:
'200':
description: The simulated entity attributes.
content:
application/json:
schema:
$ref: '#/components/schemas/EntityAttributeResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalError'
components:
schemas:
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.
EntityCreditScoreResponse:
allOf:
- $ref: '#/components/schemas/SuccessEnvelope'
- type: object
properties:
data:
$ref: '#/components/schemas/EntityCreditScore'
EntityConnect:
type: object
required:
- id
- entity_id
- status
- accounts
- requested_products
- requested_subscriptions
- created_at
- updated_at
properties:
id:
type: string
description: Unique identifier for the connect session.
example: cxn_iENwGBMDnr7sJ
entity_id:
type: string
description: The ID of the entity this connect session belongs to.
example: ent_au22b1fbFJbp8
status:
type: string
description: Status of the connect session.
enum:
- completed
- in_progress
- pending
- failed
accounts:
type: array
items:
title: EntityConnectExpandableAccount
oneOf:
- type: string
pattern: ^acc_\w+$
- $ref: '#/components/schemas/Account'
description: Expandable. List of account IDs connected through this session.
requested_products:
type:
- array
- 'null'
description: Products requested for this connect session.
items:
type: string
requested_subscriptions:
type:
- array
- 'null'
description: Subscriptions requested for this connect session.
items:
type: string
error:
type:
- object
- 'null'
description: Error details if the resource encountered an error.
allOf:
- $ref: '#/components/schemas/ConnectResourceError'
created_at:
type: string
format: date-time
description: Timestamp when the connect session was created.
updated_at:
type: string
format: date-time
description: Timestamp when the connect session was last updated.
UpdateResourceError:
type:
- object
- 'null'
description: Error details when an account update fails.
required:
- type
- code
- sub_type
- message
properties:
type:
type: string
description: The category of update error.
enum:
- UPDATE_FAILED
code:
type: integer
description: Numeric error code (21XXX range).
enum:
- 21001
sub_type:
type: string
description: Specific update error classification.
enum:
- UPDATE_TEMPORARILY_UNAVAILABLE
message:
type: string
description: Human-readable error description.
example:
type: UPDATE_FAILED
code: 21001
sub_type: UPDATE_TEMPORARILY_UNAVAILABLE
message: Update is temporarily unavailable for this account.
AccountSensitive:
type: object
description: Sensitive data for an account.
required:
- id
- account_id
- status
- type
- fields
- created_at
- updated_at
properties:
id:
type: string
description: Unique identifier for the sensitive record.
pattern: ^astv_\w+$
example: astv_aTJMbnCjw34yQ
account_id:
type: string
description: The account this sensitive data belongs to.
pattern: ^acc_\w+$
status:
type: string
description: Current status of the sensitive data request.
enum:
- completed
- pending
- failed
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.
error:
$ref: '#/components/schemas/AccountSensitiveResourceError'
created_at:
type: string
format: date-time
description: Timestamp when the sensitive record was created.
updated_at:
type: string
format: date-time
description: Timestamp when the sensitive record was last updated.
EntityCreditScore:
type: object
required:
- id
- entity_id
- status
- scores
- created_at
- updated_at
properties:
id:
type: string
description: Unique identifier for the credit score.
example: crs_pn4ca33GRnrJm
entity_id:
type: string
description: The ID of the entity this credit score belongs to.
example: ent_au22b1fbFJbp8
status:
type: string
description: Status of the credit score retrieval.
enum:
- completed
- in_progress
- pending
- failed
scores:
type:
- array
- 'null'
description: Array of credit score results.
items:
type: object
required:
- score
- source
- model
- factors
- created_at
properties:
score:
type:
- integer
- 'null'
description: The credit score value.
source:
type:
- string
- 'null'
description: The source of the credit score.
model:
type:
- string
- 'null'
description: The scoring model used.
factors:
type:
- array
- 'null'
description: Factors affecting the credit score.
items:
$ref: '#/components/schemas/EntityCreditScoreFactor'
created_at:
type: string
format: date-time
description: Timestamp when this score was generated.
error:
type:
- object
- 'null'
description: Error details if the resource encountered an error.
allOf:
- $ref: '#/components/schemas/CreditScoreResourceError'
created_at:
type: string
format: date-time
description: Timestamp when the credit score was created.
updated_at:
type: string
format: date-time
description: Timestamp when the credit score was last updated.
PayoffResourceError:
type:
- object
- 'null'
description: Error details when a payoff sync fails.
required:
- type
- code
- sub_type
- message
properties:
type:
type: string
description: The category of payoff error.
enum:
- PAYOFF_FAILED
code:
type: integer
description: Numeric error code (18XXX range).
enum:
- 18001
sub_type:
type: string
description: Specific payoff error classification.
enum:
- PAYOFF_TEMPORARILY_UNAVAILABLE
message:
type: string
description: Human-readable error description.
example:
type: PAYOFF_FAILED
code: 18001
sub_type: PAYOFF_TEMPORARILY_UNAVAILABLE
message: Payoff is temporarily unavailable for this account.
AccountExpandableBalance:
title: AccountExpandableBalance
description: 'The latest balance ID. This field is expandable. When expanded, returns the full AccountBalance object.
'
oneOf:
- type: string
pattern: ^bal_\w+$
- type: 'null'
- $ref: '#/components/schemas/AccountBalance'
EntityAttribute:
type: object
required:
- id
- entity_id
- status
- attributes
- created_at
- updated_at
properties:
id:
type: string
description: Unique identifier for the entity attribute.
example: attr_QwMjMDEwMTY1
entity_id:
type: string
description: The ID of the entity this attribute belongs to.
example: ent_au22b1fbFJbp8
status:
type: string
description: Status of the attribute retrieval.
enum:
- completed
- in_progress
- pending
- failed
attributes:
$ref: '#/components/schemas/EntityAttributeData'
error:
type:
- object
- 'null'
description: Error details if the resource encountered an error.
allOf:
- $ref: '#/components/schemas/ResourceError'
created_at:
type: string
format: date-time
description: Timestamp when the attribute was created.
updated_at:
type: string
format: date-time
description: Timestamp when the attribute was last updated.
EntityAttributeData:
type:
- object
- 'null'
description: Financial health and credit attribute data.
properties:
credit_health_credit_card_usage:
type:
- object
- 'null'
description: Credit card usage health indicator.
properties:
value:
type:
- number
- 'null'
description: The attribute value.
rating:
type: string
description: Rating for this attribute.
metadata:
type:
- object
- 'null'
description: Additional metadata.
credit_health_derogatory_marks:
type:
- object
- 'null'
description: Derogatory marks health indicator.
properties:
value:
type:
- number
- 'null'
description: The attribute value.
rating:
type: string
description: Rating for this attribute.
metadata:
type:
- object
- 'null'
description: Additional metadata.
credit_health_hard_inquiries:
type:
- object
- 'null'
description: Hard inquiries health indicator.
properties:
value:
type:
- number
- 'null'
description: The attribute value.
rating:
type: string
description: Rating for this attribute.
metadata:
type:
- object
- 'null'
description: Additional metadata.
credit_health_soft_inquiries:
type:
- object
- 'null'
description: Soft inquiries health indicator.
properties:
value:
type:
- number
- 'null'
description: The attribute value.
rating:
type: string
description: Rating for this attribute.
metadata:
type:
- object
- 'null'
description: Additional metadata.
credit_health_total_accounts:
type:
- object
- 'null'
description: Total accounts health indicator.
properties:
value:
type:
- number
- 'null'
description: The attribute value.
rating:
type: string
description: Rating for this attribute.
metadata:
type:
- object
- 'null'
description: Additional metadata.
credit_health_open_accounts:
type:
- object
- 'null'
description: Open accounts health indicator.
properties:
value:
type:
- number
- 'null'
description: The attribute value.
rating:
type: string
description: Rating for this attribute.
metadata:
type:
- object
- 'null'
description: Additional metadata.
credit_health_credit_age:
type:
- object
- 'null'
description: Credit age health indicator.
properties:
value:
type:
- number
- 'null'
description: The attribute value.
rating:
type: string
description: Rating for this attribute.
metadata:
type:
- object
- 'null'
description: Additional metadata.
credit_health_payment_history:
type:
- object
- 'null'
description: Payment history health indicator.
properties:
value:
type:
- number
- 'null'
description: The attribute value.
rating:
type: string
description: Rating for this attribute.
metadata:
type:
- object
- 'null'
description: Additional metadata.
credit_health_entity_delinquent:
type:
- object
- 'null'
description: Entity delinquency health indicator.
properties:
value:
type:
- number
- 'null'
description: The attribute value.
rating:
type: string
description: Rating for this attribute.
metadata:
type:
- object
- 'null'
description: Additional metadata.
AccountVerificationSessionResourceError:
type:
- object
- 'null'
description: Error details when an account verification session fails.
required:
- type
- code
- sub_type
- message
properties:
type:
type: string
description: The category of verification session error.
enum:
- ACCOUNT_VERIFICATION_SESSION_FAILED
code:
type: integer
description: Numeric error code (16XXX range).
enum:
- 16001
- 16002
- 16003
- 16004
sub_type:
type: string
description: Specific verification session error classification.
enum:
- VERIFICATION_TYPE_NOT_SUPPORTED
- INVALID_DETAILS
- VERIFICATION_SESSION_ATTEMPT_LIMIT_REACHED
- MICRO_DEPOSITS_FAILED
message:
type: string
description: Human-readable error description.
example:
type: ACCOUNT_VERIFICATION_SESSION_FAILED
code: 16001
sub_type: VERIFICATION_TYPE_NOT_SUPPORTED
message: The verification type provided is not supported for the merchant.
AccountExpandableSensitive:
title: AccountExpandableSensitive
description: 'The latest sensitive ID. This field is expandable. When expanded, returns the full AccountSensitive object.
'
oneOf:
- type: string
pattern: ^astv_\w+$
- type: 'null'
- $ref: '#/components/schemas/AccountSensitive'
AccountPaymentInstrument:
type: object
description: A payment instrument for an account.
required:
- id
- account_id
- status
- type
- created_at
- updated_at
properties:
id:
type: string
description: Unique identifier for the payment instrument.
pattern: ^pmt_inst_\w+$
example: pmt_inst_aTJMbnCjw34yQ
account_id:
type: string
description: The account this payment instrument belongs to.
pattern: ^acc_\w+$
status:
type: string
description: Current status of the payment instrument.
enum:
- pending
- in_progress
- completed
type:
type: string
description: The type of payment instrument.
enum:
- card
- network_token
- inbound_achwire_payment
chargeable:
type: boolean
description: Whether this payment instrument is currently chargeable.
card:
type:
- object
- 'null'
description: Card details. Present when type is card.
properties:
number:
type: string
description: The card number.
exp_month:
type: string
description: Card expiration month.
exp_year:
type: string
description: Card expiration year.
billing_zip_code:
type: string
description: Billing zip code.
network_token:
type:
- object
- 'null'
description: Network token details. Present when type is network_token.
properties:
token:
type: string
description: The network token value.
inbound_achwire_payment:
type:
- object
- 'null'
description: ACH/wire payment details. Present when type is inbound_achwire_payment.
properties:
account_number:
type: string
description: The account number.
routing_number:
type: string
description: The routing number.
error:
$ref: '#/components/schemas/ResourceError'
created_at:
type: string
format: date-time
description: Timestamp when the payment instrument was created.
updated_at:
type: string
format: date-time
description: Timestamp when the payment instrument was last updated.
EntityAttributeResponse:
allOf:
- $ref: '#/components/schemas/SuccessEnvelope'
- type: object
properties:
data:
$ref: '#/components/schemas/EntityAttribute'
EntityCreditScoreFactor:
type: object
properties:
code:
type:
- string
- 'null'
description: Factor code.
description:
type:
- string
- 'null'
description: Human-readable description of the factor.
EntityConnectResponse:
allOf:
- $ref: '#/components/schemas/SuccessEnvelope'
- type: object
properties:
data:
$ref: '#/components/schemas/EntityConnect'
CreditScoreResourceError:
type:
- object
- 'null'
description: Error details when a credit score pull fails.
required:
- type
- code
- sub_type
- message
properties:
type:
type: string
description: The category of credit score error.
enum:
- CREDIT_SCORE_FAILED
code:
type: integer
description: Numeric error code (23XXX range).
enum:
- 23001
sub_type:
type: string
description: Specific credit score error classification.
enum:
- CREDIT_SCORE_FAILED_TEMPORARILY_UNAVAILABLE
message:
type: string
description: Human-readable error description.
example:
type: CREDIT_SCORE_FAILED
code: 23001
sub_type: CREDIT_SCORE_FAILED_TEMPORARILY_UNAVAILABLE
message: Credit Score is temporarily unavailable for this entity.
MerchantProviderIds:
type: object
properties:
plaid:
type: array
items:
type: string
mx:
type: array
items:
type: string
finicity:
type: array
items:
type: string
dpp:
type: array
items:
type: string
rpps:
type: array
items:
type: string
AccountExpandableAttribute:
title: AccountExpandableAttribute
description: 'The latest attribute ID. This field is expandable. When expanded, returns the full AccountAttribute object.
'
oneOf:
- type: string
pattern: ^acc_attr_\w+$
- type: 'null'
- $ref: '#/components/schemas/AccountAttribute'
AccountExpandableUpdate:
title: AccountExpandableUpdate
description: 'The latest update ID. This field is expandable. When expanded, returns the full AccountUpdate object.
'
oneOf:
- type: string
pattern: ^upd_\w+$
- type: 'null'
- $ref: '#/components/schemas/AccountUpdate'
AccountExpandableCardBrand:
title: AccountExpandableCardBrand
description: 'The latest card brand ID. This field is expandable. When expanded, returns the full AccountCardBrand object.
'
oneOf:
- type: string
pattern: ^cbrd_\w+$
- type: 'null'
- $ref: '#/components/schemas/AccountCardBrand'
Metadata:
type:
- object
- 'null'
additionalProperties: true
description: Arbitrary key-value metadata attached to the resource.
AccountDebitCard:
type:
- object
- 'null'
description: Debit card account details. Present when `type` is `debit_card`.
properties:
network:
type: string
description: The card network.
mask:
type: string
description: Last 4 digits of the card number.
issuer:
type: string
description: The card issuer.
MerchantType:
type: string
enum:
- auto_loan
- bank
- bnpl
- business_loan
- city
- collection
- county
- credit_builder
- credit_card
- electric_utility
- fintech
- home_equity_loan
- home_loan
- insurance
- internet_utility
- loan
- medical
- mortgage
- personal_loan
- student_loan
- student_loans
- subscription
- telephone_utility
- television_utility
- unknown
- utility
- waste_utility
- water_utility
AccountExpandablePaymentInstrument:
title: AccountExpandablePaymentInstrument
description: 'The latest payment instrument ID. This field is expandable. When expanded, returns the full AccountPaymentInstrument object.
'
oneOf:
- type: string
pattern: ^pmt_inst_\w+$
- type: 'null'
- $ref: '#/components/schemas/AccountPaymentInstrument'
AccountExpandablePayoff:
title: AccountExpandablePayoff
description: 'The latest payoff ID. This field is expandable. When expanded, returns the full AccountPayoff object.
'
oneOf:
- type: string
pattern: ^pyf_\w+$
- type: 'null'
- $ref: '#/components/schemas/AccountPayoff'
AccountSensitiveResourceError:
type:
- object
- 'null'
description: Error details when retrieving account sensitive data fails.
required:
- type
- code
- sub_type
- message
properties:
type:
type: string
description: The category of sensitive data error.
enum:
- ACCOUNT_SENSITIVE_FAILED
code:
type: integer
description: Numeric error code (17XXX range).
enum:
- 17001
sub_type:
type: string
description: Specific sensitive data error classification.
enum:
- ACCOUNT_SENSITIVE_FAILED_VERIFICATION_REQUIRED
message:
type: string
description: Human-readable error description.
example:
type: ACCOUNT_SENSITIVE_FAILED
code: 17001
sub_type: ACCOUNT_SENSITIVE_FAILED_VERIFICATION_REQUIRED
message: Account sensitive failed due to missing required verification.
AccountResourceError:
type:
- object
- 'null'
description: Error details when an account is disabled.
required:
- type
- code
- sub_type
- message
properties:
type:
type: string
description: The category of account error.
enum:
- ACCOUNT_DISABLED
code:
type: integer
description: Numeric error code (11XXX range).
enum:
- 11001
- 11002
- 11003
- 11004
- 11005
- 11006
sub_type:
type: string
description: Specific account error classification.
enum:
- ACCOUNT_INVALID_DETAILS
- ACCOUNT
# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/methodfi/refs/heads/main/openapi/methodfi-simulate-entities-api-openapi.yml