The Every API lets you manage your company’s vendors, attach their bank accounts and pay them by ACH from your own systems. Every response is scoped to the company that owns the API key you call with.
Every asks your company’s signatory to approve an API payment. Someone with permission to override payment approvals can approve it instead (see Approvals). The payment isn’t sent to the bank until it’s approved.
Before you start
Company Admins create company API keys in Settings → API. For the steps, see Every API.Every turns on Every API company by company. If you don’t see it, email support@every.io to ask about it.
Base URL
All endpoints are relative to this base URL:Authentication
Send your API key in thex-api-key header of every request. A request whose key is missing, unknown, revoked or not enabled for the API gets a 403 response:
Make your first request
CallGET /v1/me to check your key. It returns the company the key belongs to:
description is null when your company hasn’t set one.
Request IDs
When you email support@every.io, include thex-request-id response header. Every generates this ID for the request and records the request under it. A caller-supplied x-request-id isn’t echoed back.
Errors
A failed request answers with a JSON body that has amessage and can include an errors array with more detail. Each endpoint page lists the status codes it can respond with and what they mean.
Pagination
GET /v1/vendors, GET /v1/every-categories and GET /v1/every-departments return their results a page at a time. Control the page with two query parameters:
Each response includes
metadata.pagination, with the total number of records (ignoring limit and offset) and the limit and offset the page was read with.
Idempotency
POST /v1/payments and POST /v1/vendors/{vendorId}/bank-accounts require an idempotency_key, a key you choose so that a retry can’t create the same payment or bank account twice. Use a new key for each payment or account you create, and reuse it only to retry that request.
If you repeat a request with a key that’s already been used, the API answers 409 with what the first request created instead of creating it again. A repeated payment request returns the payment with its current status. If the first request is still running, or stopped without recording what it did, the 409 is an error that says so.
Bank account keys are scoped to the vendor in the path: the same key under another vendor is a new request.