Synci API
  1. Rules
Synci API
  • BankAccounts
    • List all bank accounts
      GET
    • Get bank account
      GET
    • Update bank account
      PUT
    • Delete bank account
      DELETE
    • Reset bank account config to defaults
      DELETE
    • List all balances
      GET
    • Get balance
      GET
    • Delete balance
      DELETE
  • BankConnections
    • List all bank connections
      GET
    • Create a new bank connection
      POST
    • Get bank connection
      GET
    • Delete bank connection
      DELETE
    • Disable bank connection
      PUT
    • Reconfirm the consent of a bank connection
      PUT
  • BankTransactions
    • List all bank transactions
    • Create a new bank transaction
    • Get bank transaction
    • Update bank transaction
    • Delete bank transaction
  • RuleActions
    • List all rule actions
    • Create a new rule action
    • Get rule action
    • Update rule action
    • Delete rule action
  • RuleConditions
    • List rule conditions
    • Create a new rule condition
    • Get rule condition
    • Update rule condition
    • Delete rule condition
  • RuleLogs
    • List all rule logs
    • Get rule log
    • Undo a rule action
  • Rules
    • Create a new rule
      POST
    • List all rules
      GET
    • Get rule
      GET
    • Update rule
      PUT
    • Delete rule
      DELETE
    • Attach rule to bank account
      POST
    • Detach rule from bank account
      DELETE
    • Reorder rules for a bank account
      PUT
    • Attach rule to transfer link
      POST
    • Detach rule from transfer link
      DELETE
    • Reorder rules for a transfer link
      PUT
    • Attach rule to destination
      POST
    • Detach rule from destination
      DELETE
    • Reorder rules for a destination (e.g., YNAB budget account)
      PUT
    • rules.attachToBank
      POST
    • rules.detachFromBank
      DELETE
  • Statistics
    • Get bank transaction statistics
    • Get key user statistics
    • Get transfer statistics
  • SupportedBanks
    • Get supported countries
    • List all supported banks
    • Get supported bank
  • TransferLinks
    • List all transfer links
    • Create a new transfer link
    • Get transfer link
    • Update transfer link
    • Delete transfer link
    • Retry transfers for all transfer links
    • Retry transfers for a specific transfer link
  • TransferLogs
    • List all transfer logs
    • Get transfer log
    • Undo a transfer
    • transfer-logs.undo-bulk
  • YnabBudgets
    • List all YNAB budgets
    • Get YNAB budget
    • Delete YNAB budget
    • Update YNAB connection
    • List all YNAB budget accounts
    • Get YNAB budget account
    • Delete YNAB budget account
    • List all YNAB budget payees
    • List all YNAB budget categories
    • List all YNAB budget transactions
  • YnabConnections
    • List all YNAB connections
    • Create new YNAB connection
    • Get YNAB connection
    • Delete YNAB connection
  • Schemas
    • Schemas
      • AttachRuleToDestinationRequest
      • BalanceTypeEnum
      • BankAccount
      • BankAccountResource
      • BankBalanceResource
      • BankConfigGeneratedDateEnum
      • BankConfigGeneratedTextEnum
      • BankConfigResource
      • BankConnectionResource
      • BankIntegratorEnum
      • BankResource
      • BankTransactionResource
      • BulkUndoTransferLogsRequest
      • CreateBankConnectionRequest
      • CreateBankTransactionRequest
      • CreateRuleRequest
      • CreateTransferLinkRequest
      • CreateYnabConnectionRequest
      • DestinationTypeEnum
      • GoCardlessRequisitionStatusEnum
      • HealthResource
      • HealthStatusEnum
      • ReauthorizeBankConnectionRequest
      • ReorderDestinationRulesRequest
      • RetryTransfersAllLinksRequest
      • RetryTransfersRequest
      • RuleActionResource
      • RuleActionTypeEnum
      • RuleConditionResource
      • RuleLogResource
      • RuleOperatorEnum
      • RuleResource
      • RuleTypeEnum
      • SourceTypeEnum
      • TransactionTypeEnum
      • TransferLink
      • TransferLinkResource
      • TransferLogResource
      • TransferLogStatusEnum
      • UpdateBankAccountRequest
      • UpdateBankTransactionRequest
      • UpdateRuleRequest
      • UpdateTransferLinkRequest
      • UpdateYnabBudgetRequest
      • YnabBudgetAccountResource
      • YnabBudgetAccountTypeEnum
      • YnabBudgetCategoryResource
      • YnabBudgetPayeeResource
      • YnabBudgetResource
      • YnabBudgetTransactionResource
      • YnabConnectionResource
    • Response
      • AuthenticationException
      • ValidationException
      • AuthorizationException
      • ModelNotFoundException
  1. Rules

Create a new rule

POST
/rules
Rules can be used to automatically handle or manipulate bank transactions, and are a powerful tool for improving your workflows and the quality of your data.

Rules can be attached to BankAccounts, TransferLinks, or destinations like YNAB Budget Accounts:
When a rule is attached to a bank account, it will be applied to all new transactions as they are fetched from the bank.
When a rule is attached to a transfer link, it will be applied to all transactions as they are transferred to their destination.
When a rule is attached to a YNAB budget account, Synci will automatically apply the rule to YNAB budget transactions. Any transaction changes will be synced back to YNAB.
Rules consist of Conditions and Actions:
Conditions are certain criteria that must be met for a rule to be applied. If no conditions are provided, the rule's actions will always be executed.
Actions are executed when a rule's conditions are met. Every rule must have at least one action. Every time an action is executed, a new RuleLog is created.
Rules can have up to 5 conditions and 5 actions, and each bank account or transfer link can have up to 10 rules attached, depending on your plan.
To see more information about plan limits, see the Synci Pricing page.

Request

Authorization
Bearer Token
Provide your bearer token in the
Authorization
header when making requests to protected resources.
Example:
Authorization: Bearer ********************
or
Body Params application/jsonRequired

Examples

Responses

๐ŸŸข200OK
application/json
Body

๐ŸŸ 401Unauthorized
๐ŸŸ 403Forbidden
๐ŸŸ 422Unprocessable Entity
Request Request Example
Shell
JavaScript
Java
Swift
curl --location --request POST 'https://api.synci.io/api/v1/rules' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
    "name": "string",
    "description": "string",
    "enabled": true,
    "trigger_on_any_condition": true,
    "skip_other_rules_when_triggered": true,
    "type": "BANK",
    "conditions": [
        {
            "field_name": "string",
            "operator": "EQUALS",
            "value": "string"
        }
    ],
    "actions": [
        {
            "order": 0,
            "action_type": "SET_YNAB_FIELD",
            "field_name": "string",
            "value": "string"
        }
    ],
    "bank_accounts": [
        {
            "id": 0,
            "order": 0
        }
    ],
    "transfer_links": [
        {
            "id": 0,
            "order": 0
        }
    ],
    "destinations": [
        {
            "type": "YNAB",
            "id": 0,
            "order": 0
        }
    ],
    "banks": [
        {
            "id": 0,
            "order": 0
        }
    ]
}'
Response Response Example
200 - Example 1
{
    "message": "Rule created.",
    "data": {
        "id": 0,
        "type": "BANK",
        "name": "string",
        "description": "string",
        "enabled": true,
        "migrated": true,
        "trigger_on_any_condition": true,
        "skip_other_rules_when_triggered": true,
        "conditions": [
            {
                "id": 0,
                "transaction_type": "BANK",
                "field_name": "currency",
                "operator": "EQUALS",
                "value": "NOK",
                "rules": [
                    {}
                ],
                "rules_count": "string",
                "created_at": "2019-08-24T14:15:22Z",
                "updated_at": "2019-08-24T14:15:22Z"
            }
        ],
        "conditions_count": "string",
        "actions": [
            {
                "action_position": 0,
                "action": {
                    "id": 0,
                    "order": 0,
                    "action_type": "SET_YNAB_FIELD",
                    "field_name": "currency",
                    "value": "EUR",
                    "rules": [
                        {}
                    ],
                    "rules_count": "string",
                    "created_at": "2019-08-24T14:15:22Z",
                    "updated_at": "2019-08-24T14:15:22Z"
                }
            }
        ],
        "actions_count": "string",
        "bank_accounts": [
            {
                "rule_position": 0,
                "bank_account": {
                    "id": 0,
                    "bank_connection_id": 0,
                    "bank_connection": {
                        "id": 0,
                        "bank_id": 0,
                        "bank": {
                            "id": 0,
                            "integrator": "UNKNOWN",
                            "country": "string",
                            "name": "string",
                            "bic": "string",
                            "logo": "string",
                            "supported": true,
                            "supports_pending_transactions": true,
                            "supports_card_accounts": true,
                            "max_historical_days": 0,
                            "max_access_valid_for_days": 0
                        },
                        "enabled": true,
                        "health": {
                            "status": "HEALTHY",
                            "integrator_message": "string",
                            "failure_count": 0,
                            "last_attempt_at": "2019-08-24T14:15:22Z"
                        },
                        "status": "CR",
                        "status_message": "string",
                        "sync_balances": true,
                        "max_historical_days": 0,
                        "access_valid_for_days": 0,
                        "consent_expires_at": "2019-08-24T14:15:22Z",
                        "accounts_last_synced_at": "2019-08-24T14:15:22Z",
                        "auth_url": "string",
                        "bank_accounts": [
                            {}
                        ],
                        "bank_accounts_count": "string",
                        "created_at": "2019-08-24T14:15:22Z",
                        "updated_at": "2019-08-24T14:15:22Z"
                    },
                    "config": {
                        "generated": {
                            "payee": "AUTO",
                            "description": "AUTO",
                            "date": "AUTO"
                        },
                        "parse_payee_with_ai": "string",
                        "sync_start_date": "2025-01-01",
                        "sync_auto": true,
                        "sync_pending_transactions": true,
                        "sync_balances": true,
                        "sync_frequency_in_minutes": 0,
                        "fields_for_duplicate_filtering": [
                            "string"
                        ]
                    },
                    "health": {
                        "status": "HEALTHY",
                        "integrator_message": "string",
                        "failure_count": 0,
                        "last_attempt_at": "2019-08-24T14:15:22Z"
                    },
                    "integrator": "UNKNOWN",
                    "name": "string",
                    "display_name": "string",
                    "bban": "string",
                    "iban": "string",
                    "owner_name": "string",
                    "currency": "string",
                    "product_name": "string",
                    "details": "string",
                    "msisdn": "string",
                    "integrator_id": "string",
                    "institution_id": "string",
                    "details_last_synced_at": "2019-08-24T14:15:22Z",
                    "transactions_last_synced_at": "2019-08-24T14:15:22Z",
                    "balances_last_synced_at": "2019-08-24T14:15:22Z",
                    "balance": {
                        "available": 0,
                        "cleared": 0
                    },
                    "rules": "string",
                    "transfer_links": [
                        {
                            "id": 0,
                            "bank_account_id": 0,
                            "bank_account": {},
                            "destination_type": "YNAB",
                            "destination_id": 0,
                            "destination": {
                                "id": 0,
                                "budget_id": 0,
                                "budget": {
                                    "id": 0,
                                    "connection_id": 0,
                                    "connection": {
                                        "id": 0,
                                        "health": {
                                            "status": "HEALTHY",
                                            "integrator_message": "string",
                                            "failure_count": 0,
                                            "last_attempt_at": "2019-08-24T14:15:22Z"
                                        },
                                        "enabled": true,
                                        "auth_url": "string",
                                        "sync_balances": true,
                                        "sync_payees": true,
                                        "sync_categories": true,
                                        "sync_transactions": true,
                                        "ynab_user_id": "string",
                                        "budgets": [
                                            {}
                                        ],
                                        "last_synced_at": "2019-08-24T14:15:22Z",
                                        "created_at": "2019-08-24T14:15:22Z",
                                        "updated_at": "2019-08-24T14:15:22Z"
                                    },
                                    "ynab_id": "string",
                                    "enabled": true,
                                    "name": "string",
                                    "currency": "string",
                                    "first_month": "string",
                                    "last_month": "string",
                                    "accounts": [
                                        {}
                                    ],
                                    "last_synced_at": "2019-08-24T14:15:22Z",
                                    "created_at": "2019-08-24T14:15:22Z",
                                    "updated_at": "2019-08-24T14:15:22Z"
                                },
                                "ynab_id": "string",
                                "health": {
                                    "status": "HEALTHY",
                                    "integrator_message": "string",
                                    "failure_count": 0,
                                    "last_attempt_at": "2019-08-24T14:15:22Z"
                                },
                                "name": "string",
                                "type": "checking",
                                "on_budget": true,
                                "closed": true,
                                "note": "string",
                                "balance": "string",
                                "cleared_balance": "string",
                                "uncleared_balance": "string",
                                "transfer_payee_id": "string",
                                "direct_import_linked": true,
                                "last_reconciled_at": "string",
                                "rules": "string",
                                "transfer_links": [
                                    {}
                                ],
                                "created_at": "2019-08-24T14:15:22Z",
                                "updated_at": "2019-08-24T14:15:22Z"
                            },
                            "transfer_start_date": "2025-01-01",
                            "active": true,
                            "on_booked_change": {
                                "update_status": true,
                                "update_payee": true,
                                "update_description": true,
                                "update_amount": true
                            },
                            "rules": "string",
                            "created_at": "2019-08-24T14:15:22Z",
                            "updated_at": "2019-08-24T14:15:22Z"
                        }
                    ],
                    "transfer_links_count": "string",
                    "created_at": "2019-08-24T14:15:22Z",
                    "updated_at": "2019-08-24T14:15:22Z"
                }
            }
        ],
        "bank_accounts_count": "string",
        "transfer_links": [
            {
                "rule_position": 0,
                "transfer_link": {
                    "id": 0,
                    "bank_account_id": 0,
                    "bank_account": {
                        "id": 0,
                        "bank_connection_id": 0,
                        "bank_connection": {
                            "id": 0,
                            "bank_id": 0,
                            "bank": {
                                "id": 0,
                                "integrator": "UNKNOWN",
                                "country": "string",
                                "name": "string",
                                "bic": "string",
                                "logo": "string",
                                "supported": true,
                                "supports_pending_transactions": true,
                                "supports_card_accounts": true,
                                "max_historical_days": 0,
                                "max_access_valid_for_days": 0
                            },
                            "enabled": true,
                            "health": {
                                "status": "HEALTHY",
                                "integrator_message": "string",
                                "failure_count": 0,
                                "last_attempt_at": "2019-08-24T14:15:22Z"
                            },
                            "status": "CR",
                            "status_message": "string",
                            "sync_balances": true,
                            "max_historical_days": 0,
                            "access_valid_for_days": 0,
                            "consent_expires_at": "2019-08-24T14:15:22Z",
                            "accounts_last_synced_at": "2019-08-24T14:15:22Z",
                            "auth_url": "string",
                            "bank_accounts": [
                                {}
                            ],
                            "bank_accounts_count": "string",
                            "created_at": "2019-08-24T14:15:22Z",
                            "updated_at": "2019-08-24T14:15:22Z"
                        },
                        "config": {
                            "generated": {
                                "payee": "AUTO",
                                "description": "AUTO",
                                "date": "AUTO"
                            },
                            "parse_payee_with_ai": "string",
                            "sync_start_date": "2025-01-01",
                            "sync_auto": true,
                            "sync_pending_transactions": true,
                            "sync_balances": true,
                            "sync_frequency_in_minutes": 0,
                            "fields_for_duplicate_filtering": [
                                "string"
                            ]
                        },
                        "health": {
                            "status": "HEALTHY",
                            "integrator_message": "string",
                            "failure_count": 0,
                            "last_attempt_at": "2019-08-24T14:15:22Z"
                        },
                        "integrator": "UNKNOWN",
                        "name": "string",
                        "display_name": "string",
                        "bban": "string",
                        "iban": "string",
                        "owner_name": "string",
                        "currency": "string",
                        "product_name": "string",
                        "details": "string",
                        "msisdn": "string",
                        "integrator_id": "string",
                        "institution_id": "string",
                        "details_last_synced_at": "2019-08-24T14:15:22Z",
                        "transactions_last_synced_at": "2019-08-24T14:15:22Z",
                        "balances_last_synced_at": "2019-08-24T14:15:22Z",
                        "balance": {
                            "available": 0,
                            "cleared": 0
                        },
                        "rules": "string",
                        "transfer_links": [
                            {}
                        ],
                        "transfer_links_count": "string",
                        "created_at": "2019-08-24T14:15:22Z",
                        "updated_at": "2019-08-24T14:15:22Z"
                    },
                    "destination_type": "YNAB",
                    "destination_id": 0,
                    "destination": {
                        "id": 0,
                        "budget_id": 0,
                        "budget": {
                            "id": 0,
                            "connection_id": 0,
                            "connection": {
                                "id": 0,
                                "health": {
                                    "status": "HEALTHY",
                                    "integrator_message": "string",
                                    "failure_count": 0,
                                    "last_attempt_at": "2019-08-24T14:15:22Z"
                                },
                                "enabled": true,
                                "auth_url": "string",
                                "sync_balances": true,
                                "sync_payees": true,
                                "sync_categories": true,
                                "sync_transactions": true,
                                "ynab_user_id": "string",
                                "budgets": [
                                    {}
                                ],
                                "last_synced_at": "2019-08-24T14:15:22Z",
                                "created_at": "2019-08-24T14:15:22Z",
                                "updated_at": "2019-08-24T14:15:22Z"
                            },
                            "ynab_id": "string",
                            "enabled": true,
                            "name": "string",
                            "currency": "string",
                            "first_month": "string",
                            "last_month": "string",
                            "accounts": [
                                {}
                            ],
                            "last_synced_at": "2019-08-24T14:15:22Z",
                            "created_at": "2019-08-24T14:15:22Z",
                            "updated_at": "2019-08-24T14:15:22Z"
                        },
                        "ynab_id": "string",
                        "health": {
                            "status": "HEALTHY",
                            "integrator_message": "string",
                            "failure_count": 0,
                            "last_attempt_at": "2019-08-24T14:15:22Z"
                        },
                        "name": "string",
                        "type": "checking",
                        "on_budget": true,
                        "closed": true,
                        "note": "string",
                        "balance": "string",
                        "cleared_balance": "string",
                        "uncleared_balance": "string",
                        "transfer_payee_id": "string",
                        "direct_import_linked": true,
                        "last_reconciled_at": "string",
                        "rules": "string",
                        "transfer_links": [
                            {}
                        ],
                        "created_at": "2019-08-24T14:15:22Z",
                        "updated_at": "2019-08-24T14:15:22Z"
                    },
                    "transfer_start_date": "2025-01-01",
                    "active": true,
                    "on_booked_change": {
                        "update_status": true,
                        "update_payee": true,
                        "update_description": true,
                        "update_amount": true
                    },
                    "rules": "string",
                    "created_at": "2019-08-24T14:15:22Z",
                    "updated_at": "2019-08-24T14:15:22Z"
                }
            }
        ],
        "transfer_links_count": "string",
        "destinations": [
            {
                "type": "string",
                "rule_position": 0,
                "destination": {
                    "id": 0,
                    "budget_id": 0,
                    "budget": {
                        "id": 0,
                        "connection_id": 0,
                        "connection": {
                            "id": 0,
                            "health": {
                                "status": "HEALTHY",
                                "integrator_message": "string",
                                "failure_count": 0,
                                "last_attempt_at": "2019-08-24T14:15:22Z"
                            },
                            "enabled": true,
                            "auth_url": "string",
                            "sync_balances": true,
                            "sync_payees": true,
                            "sync_categories": true,
                            "sync_transactions": true,
                            "ynab_user_id": "string",
                            "budgets": [
                                {}
                            ],
                            "last_synced_at": "2019-08-24T14:15:22Z",
                            "created_at": "2019-08-24T14:15:22Z",
                            "updated_at": "2019-08-24T14:15:22Z"
                        },
                        "ynab_id": "string",
                        "enabled": true,
                        "name": "string",
                        "currency": "string",
                        "first_month": "string",
                        "last_month": "string",
                        "accounts": [
                            {}
                        ],
                        "last_synced_at": "2019-08-24T14:15:22Z",
                        "created_at": "2019-08-24T14:15:22Z",
                        "updated_at": "2019-08-24T14:15:22Z"
                    },
                    "ynab_id": "string",
                    "health": {
                        "status": "HEALTHY",
                        "integrator_message": "string",
                        "failure_count": 0,
                        "last_attempt_at": "2019-08-24T14:15:22Z"
                    },
                    "name": "string",
                    "type": "checking",
                    "on_budget": true,
                    "closed": true,
                    "note": "string",
                    "balance": "string",
                    "cleared_balance": "string",
                    "uncleared_balance": "string",
                    "transfer_payee_id": "string",
                    "direct_import_linked": true,
                    "last_reconciled_at": "string",
                    "rules": "string",
                    "transfer_links": [
                        {
                            "id": 0,
                            "bank_account_id": 0,
                            "bank_account": {
                                "id": 0,
                                "bank_connection_id": 0,
                                "bank_connection": {
                                    "id": 0,
                                    "bank_id": 0,
                                    "bank": {
                                        "id": 0,
                                        "integrator": "UNKNOWN",
                                        "country": "string",
                                        "name": "string",
                                        "bic": "string",
                                        "logo": "string",
                                        "supported": true,
                                        "supports_pending_transactions": true,
                                        "supports_card_accounts": true,
                                        "max_historical_days": 0,
                                        "max_access_valid_for_days": 0
                                    },
                                    "enabled": true,
                                    "health": {
                                        "status": "HEALTHY",
                                        "integrator_message": "string",
                                        "failure_count": 0,
                                        "last_attempt_at": "2019-08-24T14:15:22Z"
                                    },
                                    "status": "CR",
                                    "status_message": "string",
                                    "sync_balances": true,
                                    "max_historical_days": 0,
                                    "access_valid_for_days": 0,
                                    "consent_expires_at": "2019-08-24T14:15:22Z",
                                    "accounts_last_synced_at": "2019-08-24T14:15:22Z",
                                    "auth_url": "string",
                                    "bank_accounts": [
                                        {}
                                    ],
                                    "bank_accounts_count": "string",
                                    "created_at": "2019-08-24T14:15:22Z",
                                    "updated_at": "2019-08-24T14:15:22Z"
                                },
                                "config": {
                                    "generated": {
                                        "payee": "AUTO",
                                        "description": "AUTO",
                                        "date": "AUTO"
                                    },
                                    "parse_payee_with_ai": "string",
                                    "sync_start_date": "2025-01-01",
                                    "sync_auto": true,
                                    "sync_pending_transactions": true,
                                    "sync_balances": true,
                                    "sync_frequency_in_minutes": 0,
                                    "fields_for_duplicate_filtering": [
                                        "string"
                                    ]
                                },
                                "health": {
                                    "status": "HEALTHY",
                                    "integrator_message": "string",
                                    "failure_count": 0,
                                    "last_attempt_at": "2019-08-24T14:15:22Z"
                                },
                                "integrator": "UNKNOWN",
                                "name": "string",
                                "display_name": "string",
                                "bban": "string",
                                "iban": "string",
                                "owner_name": "string",
                                "currency": "string",
                                "product_name": "string",
                                "details": "string",
                                "msisdn": "string",
                                "integrator_id": "string",
                                "institution_id": "string",
                                "details_last_synced_at": "2019-08-24T14:15:22Z",
                                "transactions_last_synced_at": "2019-08-24T14:15:22Z",
                                "balances_last_synced_at": "2019-08-24T14:15:22Z",
                                "balance": {
                                    "available": 0,
                                    "cleared": 0
                                },
                                "rules": "string",
                                "transfer_links": [
                                    {}
                                ],
                                "transfer_links_count": "string",
                                "created_at": "2019-08-24T14:15:22Z",
                                "updated_at": "2019-08-24T14:15:22Z"
                            },
                            "destination_type": "YNAB",
                            "destination_id": 0,
                            "destination": {},
                            "transfer_start_date": "2025-01-01",
                            "active": true,
                            "on_booked_change": {
                                "update_status": true,
                                "update_payee": true,
                                "update_description": true,
                                "update_amount": true
                            },
                            "rules": "string",
                            "created_at": "2019-08-24T14:15:22Z",
                            "updated_at": "2019-08-24T14:15:22Z"
                        }
                    ],
                    "created_at": "2019-08-24T14:15:22Z",
                    "updated_at": "2019-08-24T14:15:22Z"
                }
            }
        ],
        "destinations_count": "string",
        "created_at": "2019-08-24T14:15:22Z",
        "updated_at": "2019-08-24T14:15:22Z"
    }
}
Modified atย 2025-11-18 15:41:51
Previous
Undo a rule action
Next
List all rules
Built with