Migrating from Routable API v0

If you are coming from our original JSON:API implementation, upgrading will take a little bit of thought and care. We're sorry about that, but we think it will be worth it in both the short and long term.

📘

Already on revision 2021-02-11?

Your existing API token will work just fine against our new APIs!

If not, please contact [email protected] and we can work with you to come up with an upgrade plan. Moving forward, API upgrades will be self-service.

Memberships ➡️ Team Members

Old Attribute LocationNew Attribute Location
idid
avataravatar
emailemail
first_namefirst_name
is_disabledis_disabled
last_namelast_name

IDs were maintained in this transition.

In other words, if Kevin had a Membership ID of 660640d3-82e0-43a2-ac8a-071d63c15f54, their TeamMember ID would also be 660640d3-82e0-43a2-ac8a-071d63c15f54.

Funding Accounts ➡️ Accounts

Old Attribute LocationNew Attribute Location
idid
createdcreated_at
is_deletedis_deleted
is_disabledis_disabled
is_usable_for_payablesis_usable_for_payables
is_usable_for_receivablesis_usable_for_receivables
is_validis_valid
ledger_refledger.id
ledger_ref_payableledger.payable_id
ledger_ref_receivableledger.receivable_id
namename
balance.balancetype_details.available
balance.can_transacttype_details.is_usable
balance.balance_pendingtype_details.pending
bank.account_numbertype_details.account_number
bank.account_typetype_details.account_type
bank.institution_nametype_details.institution_name
bank.routing_numbertype_details.routing_number

IDs were maintained in this transition.

In other words, if your Jpmorgan Chase ***1185 FundingAccount had an ID of a7ab428c-939b-4328-b05c-9d8e27ac31c5, the Account ID would be a7ab428c-939b-4328-b05c-9d8e27ac31c5.

Partnerships ➡️ Companies

Old Attribute LocationNew Attribute Location
idid
namedisplay_name
partnership_memberscontacts
createdcreated_at
external_refexternal_id
is_customeris_customer
is_vendoris_vendor
customer_refledger.customer_id
vendor_refledger.vendor_id
partner.namebusiness_name
partner.company_typetype
partner_statusstatus

IDs were maintained in this transition.

In other words, if your InstaWork Partnership had an ID of 97f318b5-d438-4205-90ed-20c889ef676b, the Company ID would also be 97f318b5-d438-4205-90ed-20c889ef676b.

Partnership Member ➡️ Contact

Old Attribute LocationNew Attribute Location
idid
default_generaldefault_contact_for_company_management
default_itemdefault_contact_for_payable_and_receivable
emailemail
first_namefirst_name
is_archivedis_archived
last_namelast_name
phone_number.numberphone_number
phone_number.countryphone_number_country

IDs were maintained in this transition.

In other words, if your Jennifer Jones Partnership Member had an ID of ab2f105b-88c0-42f1-8c5c-95fd792711fe, the Contact ID would also be ab2f105b-88c0-42f1-8c5c-95fd792711fe.

Partnership Funding Account ➡️ Payment Method

Old Attribute LocationNew Attribute Location
idid
createdcreated_at
is_created_by_partneris_created_by_company
is_preferredis_preferred_by_company
is_primaryis_primary
namename
payment_delivery_methodpayment_method
funding_account.address.citytype_details.city
funding_account.address.countrytype_details.country
funding_account.address.postalcodetype_details.postal_code
funding_account.address.print_companytype_details.print_business_name
funding_account.address.print_nametype_details.print_name
funding_account.address.statetype_details.state
funding_account.address.street_addresstype_details.address_line_1
funding_account.address.street_address_unittype_details.address_line_2
funding_account.bank.account_numbertype_details.account_number
funding_account.bank.account_typetype_details.account_type
funding_account.bank.institution_nametype_details.institution_name
funding_account.bank.routing_numbertype_details.routing_number

IDs were maintained in this transition.

In other words, if your vendor's PartnershipFundingAccount had an ID of b2c47d0b-f261-41fa-9b14-e72d774877a0, the Payment Method ID would also be b2c47d0b-f261-41fa-9b14-e72d774877a0.

🚧

ID Discrepancy

When creating Items with v0, you would supply the vendor's FundingAccount ID which you could retrieve by requesting the details of the PartnershipFundingAccount.

When creating Payables with v1, you supply the PartnershipFundingAccount ID.

If you previously were caching the FundingAccount, we can recommend updating your code to List Payment Methods instead and begin caching and using those IDs.

Items ➡️ Payables and Receivables

Old Attribute LocationNew Attribute Location
idid
amountamount
amount_dueamount_due
amount_paidamount_paid
invoice_numberbill_number
payment_delivery_optiondelivery_method
date_duedue_on
date_expectedexpected_on
date_issuedissued_on
referencereference
send_onsend_on
statusstatus
date_status_changestatus_changed_at
payment_typetype
partnershippay_to_company
requesteracting_team_member_id
attachmentsattachments
date_approvedapproved_at
external_refexternal_id
ledger_refledger.id
ledger_statusledger.status
partnership_funding_accountpay_to_payment_method
date_sentsent_on
status_timelinestatus_changes
funding_accountwithdraw_from_account
funding_provider_memotype_details.ach_addenda
check_numbertype_details.check_number
payment_delivery_methods_acceptedtype_details.delivery_method_choices
date_externally_paidtype_details.externally_paid_on
externally_paid_methodtype_details.externally_paid_method
externally_paid_referencetype_details.externally_paid_reference

Line Items

Old Attribute LocationNew Attribute Location
accountaccount
amountamount
descriptiondescription
discountdiscount
extendedledger
is_taxableis_taxable
itemitem
quantityquantity
stylestyle
taxtax
unit_priceunit_price

🚧

Receivables are under construction

Receivable support is coming soon.

IDs were maintained in this transition.

In other words, if your Item had an ID of b2c47d0b-f261-41fa-9b14-e72d774877a0, the Payable ID would also be b2c47d0b-f261-41fa-9b14-e72d774877a0.

Item Members

In v0 of our API, we allowed detailed control over which PartnershipMember objects in a Partnership received email notifications regarding their items.

In the initial version of our API, we have not released equivalent APIs and instead lean on the default_contact_for_payable_and_receivable field present on the Contact to help autofill these values on the API side and provide a simpler interface for callers.

Tagging

Tagging APIs are under construction :construction: .

Company APIs

In v0, we surfaced company APIs to facilitate creating items with approval settings.

In v1, we automagically fill in the approval settings for your payables and receivables to reduce the burden on our developer partners. See Create a Payable for more details.


What’s Next