
PayLink API Reference
Atomic's API is built around RESTful principles, using JSON encoded request and response bodies.
To get going quickly, we recommend using Postman - an API collaboration tool. Atomic provides a public workspace which you can fork into your own workspace. Use the button below to get started.
The workspace comes fully documented with:
- several useful flows using our APIs
- requests for all of the Atomic endpoints
- an environment containing placeholders for all the variables needed to connect to your Sandbox instance of Console
Authentication
Atomic uses a combination of API keys and access tokens to authenticate requests. Your API keys carry many privileges, so be sure to keep them secure! Do not share your secret API keys in publicly accessible areas such as GitHub, client-side code, etc.
API Key and Secret
You can retrieve and manage your API key and secrets on the credentials page on the Atomic Console. Include these headers in requests that are secured with your API Key and Secret:
| Header | Description |
|---|---|
x-api-key | API Key for your Atomic account |
x-api-secret | API Secret for your Atomic account |
Access Token
A publicToken will be included in the headers of requests which are made via the end user from client-side code, e.g. searching for their employer or initializing a Task. The publicToken defaults to a 24 hour expiry, but can be set to a minimum of 30 minutes or a maximum of 30 days by passing in the desired duration using the optional tokenLifetime property in the call to /access-token. The minimum is to allow for users to complete variations of the flows, such as MFA, which can take time.
| Header | Description |
|---|---|
x-public-token | Public token generated during access token creation. |
Errors
Our API returns standard HTTP success or error status codes. For errors, we will also include extra information about what went wrong encoded in the response as JSON. The various HTTP status codes we might return are listed below.
| Code | Title | Description |
|---|---|---|
| 200 | OK | The request was successful. |
| 400 | Bad Request | The request was unacceptable. |
| 401 | Unauthorized | Missing or invalid credentials. |
| 404 | Not Found | The resource does not exist. |
| 422 | Validation Error | A validation error occurred. |
| 429 | Too Many Requests | Too may requests, please try again later. |
| 50X | Internal Server Error | An error occurred with our API. |
Access Token
An AccessToken grants access to Atomic's API resources for an end user when its value is used as the x-public-token header.
The required data depends on your use case. For PayLink Manage, only the identifier field is needed. For PayLink Switch, you must provide user identity information along with either card or account details. We also support flexible integration options for when and how data is provided—for example, allowing the user to enter their CVV manually if needed.
Create Access Token
This API initializes a flow through the Atomic experience by creating an AccessToken that is used to instantiate the Transact SDK. The required fields depend on your specific use case.
PayLink Manage: Only the identifier field is required.
PayLink Switch: You need the identifier, identity object, and either cards or accounts arrays. At least one card or account must be provided.
If CVV and expiry are not available in your system, they may be excluded from the card payload, provided that the “Allow users to enter card security details” option is enabled in the Atomic Console.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
pci.atomicfi.com in production, and sandbox-pci.atomicfi.com in sandbox. Required Properties
identifierstring- A unique identifier from your system that will be used to reference this user. This could be a primary key used in your system or another unique identifier. Creating multiple access tokens with the same identifier will tie those tokens to the same user in Atomic's system.
cards[CardDetails]- An array of card detail objects which the end user can select from to update their payment method. Required for PayLink Switch when using cards as the payment method. At least one card or account must be provided.
Child Properties
Required Properties
numberstring- Card number, should be between 15 and 19 digits in length.
cvvstring- CVV number associated with the card. May be excluded if the “Allow users to enter card security details” option is enabled in the Atomic Console.
titlestring- Title for the card.
Optional Properties
expirystringExpiry for the card. <code>MM/YY</code> format expected. May be excluded if the “Allow users to enter card security details” option is enabled in the Atomic Console.brandstringBrand of card. Possible values includemastercard,visa,american-express, ordiscover.subtitlestringSubtitle for the card.cardStatusstringStatus of the card. Possible values are currently limited to:frozen.externalIdstringUsed to store an identifier for the card for later matching in callbacks or webhooks. accounts[AccountDetails]- An array of account detail objects which the end user can select from to update their payment method. Required for PayLink Switch when using bank accounts as the payment method. At least one card or account must be provided.
identityobject- Details about the end user's identity. Required for PayLink Switch as these details are needed to update payment methods in merchant systems.
Child Properties
Required Properties
firstNamestring- End user's first name
lastNamestring- End user's last name
postalCodestring- End user's postal code from their address
addressstring- End user's street address
citystring- End user's home city
statestring- End user's home state. 2 digit state code is expected.
phonestring- End user's 10 digit phone number without
()or-
PayLink Manage
POST/access-tokenPayLink Switch
POST/access-tokenBaaS passthrough variation
Use this variation when your application is not PCI compliant and relies on a BaaS provider to handle card data. This allows Atomic to securely retrieve card information from your BaaS provider during the payment method update process.
See our guide on transmitting card data for details on whether this endpoint is right for your integration.
Properties not explicitly defined in this section function the same as the standard Create Access Token flow.
Required Properties
cards[CardDetails]- An array of card detail objects which the end user can select from to update their card on file. Details for either an account or a card must be provided to complete the operation.
Child Properties
Required Properties
lastFourstring- The last four digits of a card number.
titlestring- Title for the card
paymentServiceobject- Object containing details required for Atomic to connect to and utilitize a BaaS card provider
Child Properties
Required Properties
galileoobject- String which indicates the associated BaaS you use as your card provider. This example uses Galileo, if another other BaaS provider is required, please reach out to your contacts at Atomic.
Child Properties
Required Properties
apiLoginstring- Web service username, as provided by Galileo.
apiTransKeystring- Web service password, as provided by Galileo.
providerIdstring- Galileo-issued provider identifier.
transactionIdstring- A unique provider-generated ID to identify this API call. A UUID is preferred.
accountNostring- The PRN, PAN or CAD of the account. For card-specific endpoints such as this one, the CAD is preferred. Do not use the PRN if more than one card has ever been associated with this account.
apiUrlstring- The production url that your organization uses to connect to Galileo.
PayLink Switch - BaaS passthrough
POST/access-tokenResponse
Successfully creating an Access Token will return a payload with a data object containing a publicToken. The publicToken may be used to initialize the Transact SDK and is valid for tokenLifetime seconds.
{
"data": {
"publicToken": "PUBLIC_TOKEN"
}
}CDE Bypass Variation
Use this variation when you want to transmit card and identity data directly from the user's device to third-party systems, bypassing Atomic's Card Data Environment (CDE). This is useful when you have all the card data accessible in your app and want to avoid sending it through Atomic's servers.
See our guide on CDE Bypass for complete implementation details and to determine if this flow is right for your integration.
For a CDE Bypass flow, only the identifier field is needed when creating an access token. Any card, account, or identity fields will be provided directly to the Transact SDK later in the flow.
Required Properties
identifierstring- A unique identifier from your system that will be used to reference this user. This could be a primary key used in your system or another unique identifier. Creating multiple access tokens with the same identifier will tie those tokens to the same user in Atomic's system.
PayLink Switch - CDE Bypass
POST/access-tokenAccess Token Response
Creating an Access Token in this manner will return a payload containing a publicToken. The publicToken will be used to initialize the Transact SDK.
{
"data": {
"publicToken": "PUBLIC_TOKEN"
}
}Revoke Access Token
This endpoint is used to revoke an existing AccessToken. This action invalidates the token, preventing it from being used to access Atomic's API resources.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
PUT/access-token/:publicToken/revokeCompany
PayLink enables connectivity to merchant accounts, streaming services, and recurring bills to update payment methods and manage subscriptions. In this context, a 'Company' refers to the service or merchant that a user connects to in order to manage and update payment details.
Company Search
Use this endpoint to build a typeahead experience, as employed in our Transact SDK, or to get the company's _id for deeplinking to the login section of Transact.
Search for a Company using a text query. Searches can also be filtered by passing in additional properties detailed below.
Authentication can be handled via either the API Key and Secret method or the Access Token method.
POST/company/searchAccounts
An Account in the Atomic context refers to a connection to a third-party system. This connection enables both read and write operations on the linked system as authorized by the user. For instance, after linking a Netflix account, Atomic can retrieve account data or perform actions such as pausing the subscription or managing the user’s plan.
Get Accounts
This endpoint returns all Accounts associated with an end user.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
GET/pay-link/accountsResponse
The response includes an Account object.
accounts[Account]- An array of
Accountobjects.Child Properties
Required Properties
_idstring- Unique identifier for the PayLink Account connected by the end user.
processingboolean- A boolean value indicating whether or not the account is processing.
connectionStatusenum- The status of the account, either
initial,connected, ordisconnected. If the account isinitial, then the account has been selected but the user has not attempted to connect to it. If the account isconnectedthen the account can be accessed. If the account isdisconnected, then we cannot access the account with the given credentials. companyCompany- An object containing details of the company to which the PayLink Account is connected.
Child Properties
Optional Properties
_idstringUnique identifier for the company.namestringThe name of the company.brandingobjectThe branding information of the company. Useful if you are surfacing logos in your experience.colorstringThe color of the company. Atomic uses this color to style the experience - buttons and other UI elements. actions[Actions]- The actions that can be performed on the account.
Child Properties
Optional Properties
actionIdstringThe ID of the action.typeenumAn enum representing the possible actions that can be performed on a PayLink Account.view-accountrefreshautomatedbooleanWhether or not the action is automated. Iftrue, a task will be created to track and peform the automation. The status of the task can be monitorieed using webhooks. Iffalse, then the user will perform the action on their device. bills[Bills]- The recurring expenses retrieved from the connected system, such as the actual Netflix expense on a Netflix account or a list of managed subscriptions on an Amazon account.
Child Properties
Required Properties
_idstring- Unique identifier for the bill.
sourceIdstring- An ID of the account pulled from the connected system.
Optional Properties
namestringThe name of the bill.amountnumberThe amount of the bill.amountDisclaimerstringA disclaimer about how the bill amount was determined.autopayStatusenumWhether the bill has autopay enabled. One ofenabled,disabled, orpaused.billingCyclestringThe billing cycle. One ofmonthly,bi-monthly,every-three-months,every-six-months, orannually.dueDatedateThe due date of the bill.paymentHistory[BillingHistory]profiles[Profiles]paymentMethodPaymentMethodThe payment method of the bill, if different from the account payment methods.Child PropertiesOptional PropertiestypeenumThe type of the payment method. One ofbank,cardorpaypal.lastFourstringThe last four digits of the payment method.brandstringThe brand of the payment method.isPrimarybooleanWhether the payment method is the primary payment method.descriptionstringThe description of the payment method.expirydateThe date the payment method expires.accountNumberstringThe account number of the payment method. Only applicable fortypeofbank.routingNumberstringThe routing number of the payment method. Only applicable fortypeofbank.items[BillingItems]Breakdown of billed itemsChild Propertiesusage[Usage]The usage of resources limited by the bill.Child PropertiesOptional PropertiesdescriptionstringThe description of the limited resource.limitnumberThe total amount of the limited resource available to use.unitstringThe units of usage of the limited resource. One ofgigabytes,megabytes,minutes,kilowatts-per-hour, orusers.usednumberThe amount of the limited resource used in the current billing cycle.plans[Plan]The plans associated with the bill.Child PropertiesOptional PropertiessourceIdstringThe source ID of the plan.typeIdstringThe type ID of the plan.statusstringThe status of the plan.descriptionstringThe description of the plan.amountnumberThe amount of the plan.freeTrialbooleanWhether the plan is on a free trial.pendingChangeobjectThe pending change of the plan.Child PropertiesOptional PropertiesstartDatedateThe date that the changes will take effect.endDatedateThe date that the changes will no longer be in effect.statusenumThe new plan status when the change takes effect, if status is changing. One Ofactive,inactive,paused, orcancelled.amountnumberThe new plan amount when the change takes effect, if amount is changing.typeIdstringThe new plan type id when the change takes effect, if plan type is changing.descriptionstringThe new plan description when the change takes effect, if plan description is changing.billingCyclestringThe new billing cycle when the change takes effect, if billing cycle is changing.companyCompanyAn object containing details of the company to which the bill connected. This field may not be returned in cases in which the company for the account does not exist in Atomic's system. An example is a subscription that is purchased via Amazon, like the Ad Free subscription for Prime Video. This bill will not have an associatedcompanyobject, but is considered "managed by" the Amazon company stored in the bill's parent account.Child PropertiesOptional Properties_idstringUnique identifier for the company.namestringThe name of the company.brandingobjectThe branding information of the company. Useful if you are surfacing logos in your experience.colorstringThe color of the company. Atomic uses this color to style the experience - buttons and other UI elements.actions[Actions]Child PropertiesOptional PropertiesactionIdstringThe ID of the action.typeenumAn enum representing the possible actions that can be performed on the bill. This list includes all actions available for a bill. However, each user will only see a subset of these actions, tailored to their specific account and bill.change-plancancel-planpause-planautomatedbooleanWhether or not the action is automated. Iftrue, a task will be created to track and peform the automation. The status of the task can be monitorieed using webhooks. Iffalse, then the user will perform the action on their device. orders[Orders]An array of objects containing the purchase orders associated with the account.Child PropertiesRequired Properties_idstringUnique identifier for the order.sourceIdstringThe identifier of the order in the the connected system.datestringThe date the order was placed.amountnumberThe total amount of the order.lineItems[LineItems]An array of objects containing the itemized amount breakdown of the order.paymentMethodPaymentMethodThe payment method of the order.Child PropertiesOptional PropertiestypeenumThe type of the payment method. One ofbank,cardorpaypal.lastFourstringThe last four digits of the payment method.brandstringThe brand of the payment method.isPrimarybooleanWhether the payment method is the primary payment method.descriptionstringThe description of the payment method.expirydateThe date the payment method expires.accountNumberstringThe account number of the payment method. Only applicable fortypeofbank.routingNumberstringThe routing number of the payment method. Only applicable fortypeofbank.paymentHistory[BillingHistory]An array of objects containing the transaction history of the order.products[Products]An array of objects containing the products purchased in this order.
Optional PropertieslastSyncedAtdateThe last time the user's data was synced.dataAccountDataAn object containing specific details of the account connected by the end user.Child PropertiesRequired PropertiescategoryenumAn enum of the category of account. Options include:subscriptionloanpolicytelecom
Optional Propertiesidentities[Identity]The identities connected to the account.Child PropertiesOptional PropertiesfirstNamestringThe first name of the identity.lastNamestringThe last name of the identity.emailstringThe email associated with the identity.phonestringThe phone number associated with the identity.addressstringThe address associated with the identity.address2stringThe line 2 of the address associated with the identity.citystringThe city of the address associated with the identity.statestringThe state of the address associated with the identity.postalCodestringThe postalCode of the address associated with the identity.paymentMethods[PaymentMethod]An array of objects containing the payment methods associated with the account.Child PropertiesOptional PropertiestypeenumThe type of the payment method. One ofbank,cardorpaypal.lastFourstringThe last four digits of the payment method.brandstringThe brand of the payment method.isPrimarybooleanWhether the payment method is the primary payment method.descriptionstringThe description of the payment method.expirydateThe date the payment method expires.accountNumberstringThe account number of the payment method. Only applicable fortypeofbank.routingNumberstringThe routing number of the payment method. Only applicable fortypeofbank.recurringFinancialTransactionRecurringFinancialTransactionThe associated recurring expense detected from the user's financial transactions.Child PropertiesRequired PropertiesfinancialTransactions[FinancialTransactions]The financial transactions that were detected as recurring.Child Properties
Optional PropertiesnamestringThe name of the recurring financial transactiontypeenumThe type of the recurring financial transaction. One ofincomingoroutgoing.categoryenumThe category of the recurring financial transaction. Options include:subscriptionloanpolicytelecomnextBillingDatedateThe next billing date of the recurring financial transaction.
Example response {
"accounts": [
{
"_id": "67376c5befe988922e8aabc4",
"processing": false,
"connectionStatus": "connected",
"lastSyncedAt": "2024-10-20T18:00:54.761Z",
"data": {
"category": "subscription",
"identities": [
{
"firstName": "test",
"email": "test@email.com",
"phone": "5558675309"
}
],
"paymentMethods": [
{
"type": "card",
"lastFour": "2345",
"brand": "Mastercard",
"isPrimary": true
}
]
},
"company": {
"_id": "65272c415d8a530008e972df",
"name": "Amazon",
"branding": {
"logo": {
"url": "https://cdn-public.atomicfi.com/8d97b6ca-595b-447c-8b86-8d690501c794_amazon.png",
"backgroundColor": "#FF9900"
},
"color": "#FF9900"
}
},
"actions": [
{
"type": "view-account",
"actionId": "BASE64_ENCODED_ID",
"automated": false
},
{
"type": "refresh",
"actionId": "BASE64_ENCODED_ID",
"automated": true
}
],
"bills": [
{
"_id": "67376c5befe988922e8adef5",
"sourceId": "70236f02-dc3e-3419-bbf7-06d3da9d6685",
"name": "Hulu",
"amount": 24.7,
"autopayStatus": "enabled",
"billingCycle": "monthly",
"dueDate": "2024-11-20T23:59:59.000Z",
"paymentHistory": [
{
"date": "2024-10-20T18:00:54.761Z",
"amount": 20.7
},
{
"date": "2024-09-20T09:48:31.093Z",
"amount": 19.38
}
],
"items": [
{
"description": "Standard plan",
"amount": 17.99
},
{
"description": "Taxes and fees",
"amount": 2.71
}
],
"profiles": [
{
"name": "Test Profile",
"lastUsed": "2024-10-31T17:34:55.376Z"
}
],
"plans": [
{
"sourceId": "70236f02-dc3e-3419-bbf7-06d3da9d6685",
"typeId": "no_ads",
"status": "active",
"description": "Hulu (No Ads)",
"amount": 17.99,
"freeTrial": false
}
],
"company": {
"_id": "6529a6eccb8e7200085c6ef6",
"name": "Hulu",
"branding": {
"logo": {
"url": "https://cdn-public.atomicfi.com/60e83c17-cda4-4b5a-98c6-c83199c54d48.png",
"backgroundColor": "#040405"
},
"color": "#040405"
}
},
"actions": [
{
"type": "change-plan",
"actionId": "BASE64_ENCODED_ID",
"automated": false
},
{
"type": "cancel-plan",
"actionId": "BASE64_ENCODED_ID",
"automated": true
},
{
"type": "pause-plan",
"actionId": "BASE64_ENCODED_ID",
"automated": true
}
]
}
],
"orders": [
{
"_id": "67376c5befe988922e8adef6",
"sourceId": "112-2968911-3747422",
"date": "2024-10-20T18:00:54.761Z",
"amount": 13.36,
"lineItems": [
{
"description": "Item(s) Subtotal",
"amount": 12.49
},
{
"description": "Shipping & Handling",
"amount": 0
},
{
"description": "Estimated tax to be collected",
"amount": 0.87
}
],
"paymentMethod": {
"type": "card",
"lastFour": "2345",
"brand": "Mastercard",
"isPrimary": true
},
"paymentHistory": [
{
"date": "2024-10-20T18:00:54.761Z",
"amount": 13.36
}
],
"products": [
{
"description": "AAA Alkaline High-Performance Batteries",
"amount": 12.49,
"returnBy": "2024-12-19T23:59:59.000Z"
}
]
}
],
"recurringFinancialTransaction": {
"financialTransactions": [
{
"identifier": "12345",
"description": "Amazon",
"amount": 24.99,
"date": "2024-01-01T00:00:00.000Z",
"source": "{\"identifier\":\"12345\",\"date\":\"2024-01-01\",\"description\":\"Amazon\",\"amount\":20}",
"_id": "68c1c9497306bf98e3daabe3"
},
{
"identifier": "12346",
"description": "Amazon",
"amount": 24.99,
"date": "2024-02-01T00:00:00.000Z",
"source": "{\"identifier\":\"12346\",\"date\":\"2024-02-01\",\"description\":\"Amazon\",\"amount\":20}",
"_id": "68c1c9497306bf98e3daabe4"
},
{
"identifier": "12347",
"description": "Amazon",
"amount": 24.99,
"date": "2024-03-01T00:00:00.000Z",
"source": "{\"identifier\":\"12347\",\"date\":\"2024-03-01\",\"description\":\"Amazon\",\"amount\":20}",
"_id": "68c1c9497306bf98e3daabe5"
}
]
}
}
]
}Get Account
Get AccountThis endpoint returns an account.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
GET/pay-link/accounts/:idhttps://sandbox-api.atomicfi.com/pay-link/accounts/:id Response
Response The response includes an Account object.
accountobjectAnAccountobject.Child PropertiesRequired Properties_idstringUnique identifier for the PayLink Account connected by the end user.processingbooleanA boolean value indicating whether or not the account is processing.connectionStatusenumThe status of the account, eitherinitial,connected, ordisconnected. If the account isinitial, then the account has been selected but the user has not attempted to connect to it. If the account isconnectedthen the account can be accessed. If the account isdisconnected, then we cannot access the account with the given credentials.companyCompanyAn object containing details of the company to which the PayLink Account is connected.Child PropertiesOptional Properties_idstringUnique identifier for the company.namestringThe name of the company.brandingobjectThe branding information of the company. Useful if you are surfacing logos in your experience.colorstringThe color of the company. Atomic uses this color to style the experience - buttons and other UI elements.actions[Actions]The actions that can be performed on the account.Child PropertiesOptional PropertiesactionIdstringThe ID of the action.typeenumAn enum representing the possible actions that can be performed on a PayLink Account.view-accountrefreshautomatedbooleanWhether or not the action is automated. Iftrue, a task will be created to track and peform the automation. The status of the task can be monitorieed using webhooks. Iffalse, then the user will perform the action on their device.bills[Bills]The recurring expenses retrieved from the connected system, such as the actual Netflix expense on a Netflix account or a list of managed subscriptions on an Amazon account.Child PropertiesRequired Properties_idstringUnique identifier for the bill.sourceIdstringAn ID of the account pulled from the connected system.
Optional PropertiesnamestringThe name of the bill.amountnumberThe amount of the bill.amountDisclaimerstringA disclaimer about how the bill amount was determined.autopayStatusenumWhether the bill has autopay enabled. One ofenabled,disabled, orpaused.billingCyclestringThe billing cycle. One ofmonthly,bi-monthly,every-three-months,every-six-months, orannually.dueDatedateThe due date of the bill.paymentHistory[BillingHistory]profiles[Profiles]paymentMethodPaymentMethodThe payment method of the bill, if different from the account payment methods.Child PropertiesOptional PropertiestypeenumThe type of the payment method. One ofbank,cardorpaypal.lastFourstringThe last four digits of the payment method.brandstringThe brand of the payment method.isPrimarybooleanWhether the payment method is the primary payment method.descriptionstringThe description of the payment method.expirydateThe date the payment method expires.accountNumberstringThe account number of the payment method. Only applicable fortypeofbank.routingNumberstringThe routing number of the payment method. Only applicable fortypeofbank.items[BillingItems]Breakdown of billed itemsChild Propertiesusage[Usage]The usage of resources limited by the bill.Child PropertiesOptional PropertiesdescriptionstringThe description of the limited resource.limitnumberThe total amount of the limited resource available to use.unitstringThe units of usage of the limited resource. One ofgigabytes,megabytes,minutes,kilowatts-per-hour, orusers.usednumberThe amount of the limited resource used in the current billing cycle.plans[Plan]The plans associated with the bill.Child PropertiesOptional PropertiessourceIdstringThe source ID of the plan.typeIdstringThe type ID of the plan.statusstringThe status of the plan.descriptionstringThe description of the plan.amountnumberThe amount of the plan.freeTrialbooleanWhether the plan is on a free trial.pendingChangeobjectThe pending change of the plan.Child PropertiesOptional PropertiesstartDatedateThe date that the changes will take effect.endDatedateThe date that the changes will no longer be in effect.statusenumThe new plan status when the change takes effect, if status is changing. One Ofactive,inactive,paused, orcancelled.amountnumberThe new plan amount when the change takes effect, if amount is changing.typeIdstringThe new plan type id when the change takes effect, if plan type is changing.descriptionstringThe new plan description when the change takes effect, if plan description is changing.billingCyclestringThe new billing cycle when the change takes effect, if billing cycle is changing.companyCompanyAn object containing details of the company to which the bill connected. This field may not be returned in cases in which the company for the account does not exist in Atomic's system. An example is a subscription that is purchased via Amazon, like the Ad Free subscription for Prime Video. This bill will not have an associatedcompanyobject, but is considered "managed by" the Amazon company stored in the bill's parent account.Child PropertiesOptional Properties_idstringUnique identifier for the company.namestringThe name of the company.brandingobjectThe branding information of the company. Useful if you are surfacing logos in your experience.colorstringThe color of the company. Atomic uses this color to style the experience - buttons and other UI elements.actions[Actions]Child PropertiesOptional PropertiesactionIdstringThe ID of the action.typeenumAn enum representing the possible actions that can be performed on the bill. This list includes all actions available for a bill. However, each user will only see a subset of these actions, tailored to their specific account and bill.change-plancancel-planpause-planautomatedbooleanWhether or not the action is automated. Iftrue, a task will be created to track and peform the automation. The status of the task can be monitorieed using webhooks. Iffalse, then the user will perform the action on their device.orders[Orders]An array of objects containing the purchase orders associated with the account.Child PropertiesRequired Properties_idstringUnique identifier for the order.sourceIdstringThe identifier of the order in the the connected system.datestringThe date the order was placed.amountnumberThe total amount of the order.lineItems[LineItems]An array of objects containing the itemized amount breakdown of the order.paymentMethodPaymentMethodThe payment method of the order.Child PropertiesOptional PropertiestypeenumThe type of the payment method. One ofbank,cardorpaypal.lastFourstringThe last four digits of the payment method.brandstringThe brand of the payment method.isPrimarybooleanWhether the payment method is the primary payment method.descriptionstringThe description of the payment method.expirydateThe date the payment method expires.accountNumberstringThe account number of the payment method. Only applicable fortypeofbank.routingNumberstringThe routing number of the payment method. Only applicable fortypeofbank.paymentHistory[BillingHistory]An array of objects containing the transaction history of the order.products[Products]An array of objects containing the products purchased in this order.
Optional PropertieslastSyncedAtdateThe last time the user's data was synced.dataAccountDataAn object containing specific details of the account connected by the end user.Child PropertiesRequired PropertiescategoryenumAn enum of the category of account. Options include:subscriptionloanpolicytelecom
Optional Propertiesidentities[Identity]The identities connected to the account.Child PropertiesOptional PropertiesfirstNamestringThe first name of the identity.lastNamestringThe last name of the identity.emailstringThe email associated with the identity.phonestringThe phone number associated with the identity.addressstringThe address associated with the identity.address2stringThe line 2 of the address associated with the identity.citystringThe city of the address associated with the identity.statestringThe state of the address associated with the identity.postalCodestringThe postalCode of the address associated with the identity.paymentMethods[PaymentMethod]An array of objects containing the payment methods associated with the account.Child PropertiesOptional PropertiestypeenumThe type of the payment method. One ofbank,cardorpaypal.lastFourstringThe last four digits of the payment method.brandstringThe brand of the payment method.isPrimarybooleanWhether the payment method is the primary payment method.descriptionstringThe description of the payment method.expirydateThe date the payment method expires.accountNumberstringThe account number of the payment method. Only applicable fortypeofbank.routingNumberstringThe routing number of the payment method. Only applicable fortypeofbank.recurringFinancialTransactionRecurringFinancialTransactionThe associated recurring expense detected from the user's financial transactions.Child PropertiesRequired PropertiesfinancialTransactions[FinancialTransactions]The financial transactions that were detected as recurring.Child Properties
Optional PropertiesnamestringThe name of the recurring financial transactiontypeenumThe type of the recurring financial transaction. One ofincomingoroutgoing.categoryenumThe category of the recurring financial transaction. Options include:subscriptionloanpolicytelecomnextBillingDatedateThe next billing date of the recurring financial transaction.
Example response {
"account": {
"_id": "67376c5befe988922e8aabc4",
"processing": false,
"connectionStatus": "connected",
"lastSyncedAt": "2024-10-20T18:00:54.761Z",
"data": {
"category": "subscription",
"identities": [
{
"firstName": "test",
"email": "test@email.com",
"phone": "5558675309"
}
],
"paymentMethods": [
{
"type": "card",
"lastFour": "2345",
"brand": "Mastercard",
"isPrimary": true
}
]
},
"company": {
"_id": "65272c415d8a530008e972df",
"name": "Amazon",
"branding": {
"logo": {
"url": "https://cdn-public.atomicfi.com/8d97b6ca-595b-447c-8b86-8d690501c794_amazon.png",
"backgroundColor": "#FF9900"
},
"color": "#FF9900"
}
},
"actions": [
{
"type": "view-account",
"actionId": "BASE64_ENCODED_ID",
"automated": false
},
{
"type": "refresh",
"actionId": "BASE64_ENCODED_ID",
"automated": true
}
],
"bills": [
{
"_id": "67376c5befe988922e8adef5",
"sourceId": "70236f02-dc3e-3419-bbf7-06d3da9d6685",
"name": "Hulu",
"amount": 24.7,
"autopayStatus": "enabled",
"billingCycle": "monthly",
"dueDate": "2024-11-20T23:59:59.000Z",
"paymentHistory": [
{
"date": "2024-10-20T18:00:54.761Z",
"amount": 20.7
},
{
"date": "2024-09-20T09:48:31.093Z",
"amount": 19.38
}
],
"items": [
{
"description": "Standard plan",
"amount": 17.99
},
{
"description": "Taxes and fees",
"amount": 2.71
}
],
"profiles": [
{
"name": "Test Profile",
"lastUsed": "2024-10-31T17:34:55.376Z"
}
],
"plans": [
{
"sourceId": "70236f02-dc3e-3419-bbf7-06d3da9d6685",
"typeId": "no_ads",
"status": "active",
"description": "Hulu (No Ads)",
"amount": 17.99,
"freeTrial": false
}
],
"company": {
"_id": "6529a6eccb8e7200085c6ef6",
"name": "Hulu",
"branding": {
"logo": {
"url": "https://cdn-public.atomicfi.com/60e83c17-cda4-4b5a-98c6-c83199c54d48.png",
"backgroundColor": "#040405"
},
"color": "#040405"
}
},
"actions": [
{
"type": "change-plan",
"actionId": "BASE64_ENCODED_ID",
"automated": false
},
{
"type": "cancel-plan",
"actionId": "BASE64_ENCODED_ID",
"automated": true
},
{
"type": "pause-plan",
"actionId": "BASE64_ENCODED_ID",
"automated": true
}
]
}
],
"orders": [
{
"_id": "67376c5befe988922e8adef6",
"sourceId": "112-2968911-3747422",
"date": "2024-10-20T18:00:54.761Z",
"amount": 13.36,
"lineItems": [
{
"description": "Item(s) Subtotal",
"amount": 12.49
},
{
"description": "Shipping & Handling",
"amount": 0
},
{
"description": "Estimated tax to be collected",
"amount": 0.87
}
],
"paymentMethod": {
"type": "card",
"lastFour": "2345",
"brand": "Mastercard",
"isPrimary": true
},
"paymentHistory": [
{
"date": "2024-10-20T18:00:54.761Z",
"amount": 13.36
}
],
"products": [
{
"description": "AAA Alkaline High-Performance Batteries",
"amount": 12.49,
"returnBy": "2024-12-19T23:59:59.000Z"
}
]
}
],
"recurringFinancialTransaction": {
"financialTransactions": [
{
"identifier": "12345",
"description": "Amazon",
"amount": 24.99,
"date": "2024-01-01T00:00:00.000Z",
"source": "{\"identifier\":\"12345\",\"date\":\"2024-01-01\",\"description\":\"Amazon\",\"amount\":20}",
"_id": "68c1c9497306bf98e3daabe3"
},
{
"identifier": "12346",
"description": "Amazon",
"amount": 24.99,
"date": "2024-02-01T00:00:00.000Z",
"source": "{\"identifier\":\"12346\",\"date\":\"2024-02-01\",\"description\":\"Amazon\",\"amount\":20}",
"_id": "68c1c9497306bf98e3daabe4"
},
{
"identifier": "12347",
"description": "Amazon",
"amount": 24.99,
"date": "2024-03-01T00:00:00.000Z",
"source": "{\"identifier\":\"12347\",\"date\":\"2024-03-01\",\"description\":\"Amazon\",\"amount\":20}",
"_id": "68c1c9497306bf98e3daabe5"
}
]
}
}
}Detect Accounts
Detect Accounts This endpoint accepts transaction data for a specific end user. Atomic uses this data to identify recurring payments and recommend companies for the user to connect to and manage via our APIs.
The response returns an array of Account objects, providing details on whether the detected merchants are supported by Atomic along with other relevant information.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
POST/pay-link/accountshttps://sandbox-api.atomicfi.com/pay-link/accounts Required Properties
Required PropertiesfinancialTransactions[FinancialTransactions]An array of financial transaction objects.Child PropertiesRequired PropertiesidentifierstringAn ID of the transaction.datestringThe date the transation was processed, in ISO8601 format.descriptionstringThe transaction description from the merchant.amountnumberAmount of the transaction.
Optional PropertiescurrencyenumCurrency in which the transaction was processed.usdeurcadmerchantNamestringThe name of the merchant associated with the transaction.typeenumAn enum of the type of transaction. Options are:categorystringCategory of the transaction.subCategorystringOptional subcategory of the transaction.
Example request {
"financialTransactions": [
{
"identifier": "12345",
"date": "2024-01-01",
"description": "Amazon",
"amount": 24.99
},
{
"identifier": "12346",
"date": "2024-02-01",
"description": "Amazon",
"amount": 24.99
},
{
"identifier": "12347",
"date": "2024-01-01",
"description": "Netflix",
"amount": 19.99
}
]
} Response
Response The response contains an array of Account objects containing and relevant metadata relating to the Accounts connected by the end user.
accounts[Account]An array ofAccountobjects.Child PropertiesRequired Properties_idstringUnique identifier for the PayLink Account connected by the end user.processingbooleanA boolean value indicating whether or not the account is processing.connectionStatusenumThe status of the account, eitherinitial,connected, ordisconnected. If the account isinitial, then the account has been selected but the user has not attempted to connect to it. If the account isconnectedthen the account can be accessed. If the account isdisconnected, then we cannot access the account with the given credentials.companyCompanyAn object containing details of the company to which the PayLink Account is connected.Child PropertiesOptional Properties_idstringUnique identifier for the company.namestringThe name of the company.brandingobjectThe branding information of the company. Useful if you are surfacing logos in your experience.colorstringThe color of the company. Atomic uses this color to style the experience - buttons and other UI elements.actions[Actions]The actions that can be performed on the account.Child PropertiesOptional PropertiesactionIdstringThe ID of the action.typeenumAn enum representing the possible actions that can be performed on a PayLink Account.view-accountrefreshautomatedbooleanWhether or not the action is automated. Iftrue, a task will be created to track and peform the automation. The status of the task can be monitorieed using webhooks. Iffalse, then the user will perform the action on their device.orders[Orders]An array of objects containing the purchase orders associated with the account.Child PropertiesRequired Properties_idstringUnique identifier for the order.sourceIdstringThe identifier of the order in the the connected system.datestringThe date the order was placed.amountnumberThe total amount of the order.lineItems[LineItems]An array of objects containing the itemized amount breakdown of the order.paymentMethodPaymentMethodThe payment method of the order.Child PropertiesOptional PropertiestypeenumThe type of the payment method. One ofbank,cardorpaypal.lastFourstringThe last four digits of the payment method.brandstringThe brand of the payment method.isPrimarybooleanWhether the payment method is the primary payment method.descriptionstringThe description of the payment method.expirydateThe date the payment method expires.accountNumberstringThe account number of the payment method. Only applicable fortypeofbank.routingNumberstringThe routing number of the payment method. Only applicable fortypeofbank.paymentHistory[BillingHistory]An array of objects containing the transaction history of the order.products[Products]An array of objects containing the products purchased in this order.
Optional PropertiesrecurringFinancialTransactionRecurringFinancialTransactionThe associated recurring expense detected from the user's financial transactions.Child PropertiesRequired PropertiesfinancialTransactions[FinancialTransactions]The financial transactions that were detected as recurring.Child Properties
Optional PropertiesnamestringThe name of the recurring financial transactiontypeenumThe type of the recurring financial transaction. One ofincomingoroutgoing.categoryenumThe category of the recurring financial transaction. Options include:subscriptionloanpolicytelecomnextBillingDatedateThe next billing date of the recurring financial transaction.
Example response {
"accounts": [
{
"_id": "67376c5befe988922e8aabc4",
"processing": false,
"connectionStatus": "initial",
"company": {
"_id": "65272c415d8a530008e972df",
"name": "Amazon",
"branding": {
"logo": {
"url": "https://cdn-public.atomicfi.com/8d97b6ca-595b-447c-8b86-8d690501c794_amazon.png",
"backgroundColor": "#FF9900"
},
"color": "#FF9900"
}
},
"actions": [
{
"type": "view-account",
"actionId": "BASE64_ENCODED_ID",
"automated": false
},
{
"type": "refresh",
"actionId": "BASE64_ENCODED_ID",
"automated": true
}
],
"orders": [
{
"_id": "67376c5befe988922e8adef6",
"sourceId": "112-2968911-3747422",
"date": "2024-10-20T18:00:54.761Z",
"amount": 13.36,
"lineItems": [
{
"description": "Item(s) Subtotal",
"amount": 12.49
},
{
"description": "Shipping & Handling",
"amount": 0
},
{
"description": "Estimated tax to be collected",
"amount": 0.87
}
],
"paymentMethod": {
"type": "card",
"lastFour": "2345",
"brand": "Mastercard",
"isPrimary": true
},
"paymentHistory": [
{
"date": "2024-10-20T18:00:54.761Z",
"amount": 13.36
}
],
"products": [
{
"description": "AAA Alkaline High-Performance Batteries",
"amount": 12.49,
"returnBy": "2024-12-19T23:59:59.000Z"
}
]
}
],
"recurringFinancialTransaction": {
"financialTransactions": [
{
"identifier": "12345",
"description": "Amazon",
"amount": 24.99,
"date": "2024-01-01T00:00:00.000Z",
"source": "{\"identifier\":\"12345\",\"date\":\"2024-01-01\",\"description\":\"Amazon\",\"amount\":20}",
"_id": "68c1c9497306bf98e3daabe3"
},
{
"identifier": "12346",
"description": "Amazon",
"amount": 24.99,
"date": "2024-02-01T00:00:00.000Z",
"source": "{\"identifier\":\"12346\",\"date\":\"2024-02-01\",\"description\":\"Amazon\",\"amount\":20}",
"_id": "68c1c9497306bf98e3daabe4"
},
{
"identifier": "12347",
"description": "Amazon",
"amount": 24.99,
"date": "2024-03-01T00:00:00.000Z",
"source": "{\"identifier\":\"12347\",\"date\":\"2024-03-01\",\"description\":\"Amazon\",\"amount\":20}",
"_id": "68c1c9497306bf98e3daabe5"
}
]
}
}
]
}Delete Accounts
Delete AccountsThis endpoint will delete all accounts for the specified user.
A successful response will return a JSON object with a result object containing success equal to true.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
DELETE/pay-link/accounts/https://sandbox-api.atomicfi.com/pay-link/accounts/ Delete Account
Delete AccountThis endpoint will delete an account.
A successful response will return a JSON object with a result object containing success equal to true.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
DELETE/pay-link/accounts/:idhttps://sandbox-api.atomicfi.com/pay-link/accounts/:id Action History
Action History Atomic maintains a log of all automated actions performed by a user or on their behalf. This API allows you to retrieve the history of those actions, providing visibility into what was executed and when.
Note: This endpoint does not include interactive (non-automated) actions that require user input, such as selecting a plan or entering MFA codes.
Get Action History
Get Action HistoryUse this endpoint to get the action history for a given account.
Authentication can be handled via either the API Key and Secret method or the Access Token method.
GET/pay-link/action-history?accountIdhttps://sandbox-api.atomicfi.com/pay-link/action-history?accountId Financial Transactions
Financial Transactions Financial Transactions represent monetary activity data from connected financial accounts. These endpoints allow you to retrieve transaction, once they've been processed by Atomic. Details include merchant information, transaction amounts, descriptions, and dates. You can use this data to identify recurring payments, analyze spending patterns, or match transactions to known companies in the Atomic system.
Find Company
Find Company Match financial transaction data to companies in the Atomic network. Submit transaction identifiers and descriptions to receive enriched company information including names, IDs, and branding assets.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
Required Properties
Required PropertiesidentifierstringA unique identifier for this transaction from your system. This is used to correlate the response back to your original transaction data and should match your internal transaction ID or reference number.descriptionstringThe raw transaction description string as provided by the financial institution. This typically includes merchant name, location, and other transaction details. Atomic uses this text to identify and match the company.
POST/pay-link/financial-transactions/find-companyhttps://sandbox-api.atomicfi.com/pay-link/financial-transactions/find-company Response
Response A successful request will return the provided financial transactions with an associated company if found.
identifierstringThe unique identifier of the transaction.descriptionstringThe description of the transaction.companyCompanyThe company, in the Atomic system, that was found for the provided financial transaction. If no company is found, this value will not be returned.Child PropertiesRequired Properties_idstringUnique identifier for the company.namestringThe name of the company.brandingobjectThe branding information of the company. Useful if you are surfacing logos in your experience.
Example response {
"data": {
"financialTransactions": [
{
"identifier": "ff1e11abe",
"description": "POS Transaction Netflixcom NETFLIXCOM LOS GATOS CAUS",
"company": {
"_id": "64ecca15ec669e000851d5d2",
"name": "Netflix",
"branding": {
"logo": {
"backgroundColor": "#000000",
"url": "[ATOMIC-GENERATED-PRESIGNED-S3-URL]"
},
"color": "#000000"
}
}
},
{
"identifier": "4f89277",
"description": "POS Transaction Hulu HLUHULUPLUS SANTA MONICA CAUS",
"company": {
"_id": "6529a6eccb8e7200085c6ef6",
"name": "Hulu",
"branding": {
"logo": {
"url": "[ATOMIC-GENERATED-PRESIGNED-S3-URL]",
"backgroundColor": "#040405"
},
"color": "#040405"
}
}
},
{
"identifier": "5115abe3",
"description": "POS Transaction SPOTIFY 4 WORLD TRACE CENTER 68777781161 NYUS",
"company": {
"_id": "652801e35d8a530008e9e2cd",
"name": "Spotify",
"branding": {
"logo": {
"url": "[ATOMIC-GENERATED-PRESIGNED-S3-URL]",
"backgroundColor": "#000000"
},
"color": "#000000"
}
}
}
]
}
}Get Most Recent
Get Most RecentReturns a user's most recent financial transaction based on the transaction date.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
GET/pay-link/financial-transactions/most-recenthttps://sandbox-api.atomicfi.com/pay-link/financial-transactions/most-recent Response
Response A successful request will return the most recent financial transaction.
identifierstringThe unique identifier of the transaction._idstringThe identifier of the transaction in the Atomic system.descriptionstringThe description of the transaction.amountnumberThe amount of the transaction.datedateThe date of the transaction in ISO format.
Example response {
"data": {
"financialTransaction": {
"identifier": "ff1e11abe",
"_id": "68d70242e82e372ad8fdc0b9",
"description": "Netflix",
"amount": 20,
"date": "2024-03-01T00:00:00.000Z"
}
}
}Recurring Financial Transactions
Recurring Financial Transactions Recurring financial transactions are payments that occur on a regular schedule, such as subscription payments, utility bills, and loan payments. Use these endpoints to identify and analyze a user's recurring expenses.
Get Recurring Financial Transactions
Get Recurring Financial Transactions Retrieves all recurring financial transactions for a user, including subscription payments, utility bills, and other regular expenses. Transactions must first be detected using the detect accounts endpoint.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
GET/pay-link/recurring-financial-transactionshttps://sandbox-api.atomicfi.com/pay-link/recurring-financial-transactions Response
Response A successful request will return all the recurring financial transactions for the user.
_idstringThe identifier of the transaction in the Atomic system.namestringOptionalThe name of the recurring financial transaction.amountnumberOptionalThe estimated amount of the recurring financial transaction.cyclestringOptionalThe estimated cycle of the recurring financial transaction. This value will be one ofmonthly,bi-monthly,every-three-months,every-six-monthsorannually.financialTransactions[FinancialTransactions]An array of financial transaction objects.Child PropertiesRequired PropertiesidentifierstringThe provided identifier of the financial transaction.descriptionstringThe transaction description from the merchant.amountnumberThe amount of the transaction.datestringThe date the transation was processed, in ISO8601 format._idstringThe identifier of the transaction in the Atomic system.
companyobjectOptionalThe company, in the Atomic system, that was found for the provided financial transaction. If no company is found, this value will not be returned.Child PropertiesOptional Properties_idstringUnique identifier for the company.namestringThe name of the company.brandingobjectThe branding information of the company. Useful if you are surfacing logos in your experience.colorstringThe color of the company. Atomic uses this color to style the experience - buttons and other UI elements.
Example response {
"data": {
"recurringFinancialTransactions": [
{
"_id": "68dc4132744a229545ebc44b",
"name": "Netflix",
"amount": 18.53,
"cycle": "monthly",
"financialTransactions": [
{
"identifier": "KR6yp7qz9Nf59PjLMEnbtkLgkkk1w1cLm1yvA",
"description": "Netflix",
"amount": 18.53,
"date": "2025-09-28T00:00:00.000Z",
"_id": "68dc4131b2408505bf4a4991"
},
{
"identifier": "KR6yp7qz9Nf59PjLMEnbtkLgkkk1w1cLm1yvA",
"description": "Netflix",
"amount": 18.53,
"date": "2025-10-28T00:00:00.000Z",
"_id": "68dc4131b2408505bf2341"
}
],
"company": {
"branding": {
"logo": {
"backgroundColor": "#000000",
"url": "https://cdn-public.atomicfi.com/a246ba37-4491-4da6-955a-3778b0c67e69_92a85256-f90a-43e9-a201-5450781bd7c8_netflix.png"
},
"color": "#000000"
},
"_id": "64ecca15ec669e000851d5d2",
"name": "Netflix"
}
},
{
"_id": "68d702581c1b340a8a85e348",
"name": "Electric Bill",
"amount": 20,
"cycle": "monthly",
"financialTransactions": [
{
"identifier": "8890d7db-6ce5-49d6-b6d6-2ecb964dd478",
"description": "Electric Bill",
"amount": 20,
"date": "2024-01-01T00:00:00.000Z",
"_id": "68d70242e82e372ad8fdc0b7"
},
{
"identifier": "6bdb5f59-51f0-4f74-895e-4f9b393b32b8",
"description": "Electric Bill",
"amount": 20,
"date": "2024-02-01T00:00:00.000Z",
"_id": "68d70242e82e372ad8fdc0b8"
}
]
}
]
}
}Suggestions
Suggestions An Suggestion in the Atomic context refers to a document that represents a possible method that a user could use to save money on their bill.
Review a Suggestion
Review a Suggestion This endpoint is used to review a Suggestion. Reviews are used to improve our suggestion generation engine. Suggestions reviewed with the rating of not-interested will be filtered out when accounts are returned via webhooks and api endpoints. Currently, only the rating value not-interested is supported.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
POST/pay-link/suggestion-reviewhttps://sandbox-api.atomicfi.com/pay-link/suggestion-review Task
Task Each discrete operation processed through the Atomic system, such as an update to a payment account on file or an action against a merchant system on behalf of a user, will instantiate what is referred to as a Task. A Task consists of an authentication step where Atomic logs into merchant system or service provider and an operation step either data is read or an update is written to the system in question.
Get Task Details
Get Task Details This endpoint returns the details of a Task. Submit the corresponding taskId and receive the details of that Task.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
Required Properties
Required PropertiestaskIdstringThe id of the Task. ThetaskIdproperty is sent in multiple webhooks or any of the interaction events which are fired after the authentication phase of the flow has begun.
GET/task/:taskId/detailshttps://sandbox-api.atomicfi.com/task/:taskId/details Response
Response A successful request will return the details of the Task.
_idstringThe id of the Task.authenticatedbooleanIndicates whether or not the Task has successfully authenticated against the merchant system.companyobjectMetadata for the employer.Child PropertiesconnectorobjectMetadata for the connector.Child PropertiescreatedAtdateThe timestamp when the task was created, stored in UTC and ISO 8601 format.updatedAtdateThe timestamp when the task was last updated, stored in UTC and ISO 8601 format.failReasonstringOptionalThe failure reason associated with a failed task. Will consist of one of the failure values.linkedAccountstringOptionalThe id of the linked account used to create the task.metadataobjectOptionalThemetadataprovided by your system when the task was initialized.productstringThe product of the task. Possible values includepresentandswitch.statusstringThe status of the task which may bequeued,processing,failed, orcompleted.taskWorkflowobjectThe Task Workflow of the Task. When multiple tasks are associated with a single workflow, they will all have the sametaskWorkflowobject. Every Task is associated with a Task Workflow, even if it not associated with another Task.userobjectThe user who processed the Task.Child PropertiesRequired Properties_idstringThe id of the user in atomic's system.identifierstringThe user's unique identifier, as sent to Atomic during AccessToken creation.
Example response {
"data": {
"task": {
"_id": "65b15fd99b3f03aa9edff9de",
"authenticated": true,
"company": {
"_id": "607e249736b9f053b536bde0",
"branding": {
"logo": {
"url": "https://cdn-public.atomicfi.com/b02670fa-ce1b-4171-855b-6856b37bb938.png"
}
},
"name": "Test Company"
},
"connector": {
"_id": "607e249736b9f053b536bde1",
"branding": {
"logo": {
"url": "https://cdn-public.atomicfi.com/b02670fa-ce1b-4171-855b-6856b37bb938.png"
}
},
"name": "Test Connector"
},
"createdAt": "2024-01-01T00:00:00.000Z",
"updatedAt": "2024-01-01T00:00:05.000Z",
"failReason": "unknown-failure",
"linkedAccount": "645963a0b754649972f3d4ac",
"metadata": {
"data": "test"
},
"product": "switch",
"status": "completed",
"taskWorkflow": {
"_id": "643f2ed34253e21bdbd2de31"
},
"user": {
"_id": "607e249736b9f053b536bdea",
"identifier": "IDENTIFIER_FROM_YOUR_SYSTEM"
}
}
}
}Get Task Status
Get Task Status Calling this API returns the status of a Task. Submit the corresponding taskId and receive the status of that Task.
This endpoint is designed to be lightweight and intended for polling use cases.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
Required Properties
Required PropertiestaskIdstringThe id of the Task. ThetaskIdproperty is sent in multiple webhooks or any of the interaction events which are fired after the authentication phase of the flow has begun.
GET/task/:taskId/statushttps://sandbox-api.atomicfi.com/task/:taskId/status Response
Response A successful request will return the createdAt date, status, and if a Task failed (Tasks with a status of "failed") a failReason.
createdAtdateThe timestamp when the Task was created, stored in UTC and ISO 8601 format.statusstringThe status of the task which may bequeued,processing,failed, orcompleted.failReasonstringOptionalThe failure reason associated with a failed task. Will consist of one of the failure values.
Example response {
"createdAt": "2023-01-03T16:40:48.009Z",
"status": "failed",
"failReason": "payment-method-not-supported"
}User
User A User is an entity in the Atomic system that is created during the access token creation process. Details about a user's accounts are stored on the user object for reference as needed in an operation; ie. for adding a deposit account to a payroll system or updating the card-on-file for a merchant service.
End Monitoring
End Monitoring This endpoint is used to remove monitoring for users that have payroll data monitoring enabled via continuous access.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
Required Properties
Required PropertiesidentifierstringThe user's unique identifier, as sent to Atomic during AccessToken creation.
PUT/user/:identifier/end-monitoringhttps://sandbox-api.atomicfi.com/user/:identifier/end-monitoring Example response {
"success": true
}Get Tasks
Get TasksThis endpoint is used to retrieve tasks for the specified user.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
Required Properties
Required PropertiesidentifierstringThe user's unique identifier, as sent to Atomic during AccessToken creation.
Optional Properties
Optional Propertiesstatusstring
statusstringThe status of the task, provided as a query string parameter, which may be queued, processing, failed, or completed.payrollDataAvailablestring
payrollDataAvailablestringA boolean value, provided as a query string parameter, indicating whether or not the user's payroll data is ready for retrieval via API.GET/user/:identifier/taskshttps://sandbox-api.atomicfi.com/user/:identifier/tasks Response
Response A successful response will return an object with data.tasks equal to an array of task objects with the following properties.
_idstringThe id of the task.authenticatedbooleanA boolean value indication whether or not the task has successfully authenticated against the payroll system.createdAtdateThe timestamp when the task was created, stored in UTC and ISO 8601 format.failReasonstringOptionalThe failure reason associated with a failed task. Will consist of one of the failure values.payrollDataAvailablebooleanA boolean value indicating whether or not the user's payroll data is ready for retrieval via api.productenumThe product relevant to the executed task. Options are:depositverifystatusstringThe status of the task which may bequeued,processing,failed, orcompleted.
Example response {
"data": {
"tasks": [
{
"_id": "65b3f3c8b871a9626c36d103",
"authenticated": true,
"createdAt": "2024-01-26T18:02:55.795Z",
"payrollDataAvailable": true,
"product": "verify",
"status": "completed"
},
{
"_id": "65b3f3c8b871a9626c36d103",
"authenticated": true,
"createdAt": "2024-01-26T18:02:55.795Z",
"failReason": "bad-credentials",
"payrollDataAvailable": false,
"product": "deposit",
"status": "failed"
}
]
}
}Update User
Update User This endpoint is used to add data to a user in response to an onDataRequest event emitted from our Transact SDK. Any data passed will be upserted into the user's object. The typical use case is to delay the transmission of sensitive data (bank accounts, cards, identity information, etc.) until our system has need for such data.
The shape of the request body is similar to our access token creation endpoint, except the data to be added/updated will be nested in a data key, and the identifier will not be nested, but remain on the first-level of the object.
Authentication is handled via the API Key and Secret method. This API is intended to be called from your backend service so your API Keys and Secrets are not deployed to your client side application.
PUT/userhttps://sandbox-pci.atomicfi.com/user