Skip to main content
API key dialog with a copy button above the list of API keys. API key dialog with a copy button above the list of API keys. 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 the x-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

Call GET /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 the x-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 a message 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.

Related topics

Every API