Ordway Customers API
Manage billing customers and their contacts, notes, and payment methods
Manage billing customers and their contacts, notes, and payment methods
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/ordway-customers-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Ordway REST Billing Runs Customers API
description: RESTful API for bidirectional integration with the Ordway billing and revenue automation platform. Enables managing customers, subscriptions, invoices, payments, usage data, and revenue recognition schedules. Supports usage-based billing, ASC 606 compliant revenue recognition, accounts receivable automation, and SaaS metrics reporting.
version: v1
contact:
name: Ordway Support
url: https://support.ordwaylabs.com
termsOfService: https://ordwaylabs.com/
servers:
- url: https://api.ordwaylabs.com/api/v1
description: Production
- url: https://staging.ordwaylabs.com/api/v1
description: Staging
security:
- ApiKeyAuth: []
UserTokenAuth: []
UserEmailAuth: []
CompanyAuth: []
tags:
- name: Customers
description: Manage billing customers and their contacts, notes, and payment methods
paths:
/customers:
get:
summary: List customers
operationId: listCustomers
tags:
- Customers
parameters:
- $ref: '#/components/parameters/page'
- $ref: '#/components/parameters/size'
- $ref: '#/components/parameters/sort'
responses:
'200':
description: List of customers
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Customer'
'401':
$ref: '#/components/responses/Unauthorized'
post:
summary: Create a customer
operationId: createCustomer
tags:
- Customers
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerInput'
responses:
'201':
description: Customer created
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'401':
$ref: '#/components/responses/Unauthorized'
'422':
$ref: '#/components/responses/UnprocessableEntity'
/customers/{id}:
get:
summary: Retrieve a customer
operationId: getCustomer
tags:
- Customers
parameters:
- $ref: '#/components/parameters/id'
responses:
'200':
description: Customer details
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'404':
$ref: '#/components/responses/NotFound'
put:
summary: Update a customer
operationId: updateCustomer
tags:
- Customers
parameters:
- $ref: '#/components/parameters/id'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CustomerInput'
responses:
'200':
description: Customer updated
content:
application/json:
schema:
$ref: '#/components/schemas/Customer'
'404':
$ref: '#/components/responses/NotFound'
delete:
summary: Delete a customer
operationId: deleteCustomer
tags:
- Customers
parameters:
- $ref: '#/components/parameters/id'
responses:
'204':
description: Customer deleted
'404':
$ref: '#/components/responses/NotFound'
/customers/{id}/contacts:
get:
summary: List contacts for a customer
operationId: listCustomerContacts
tags:
- Customers
parameters:
- $ref: '#/components/parameters/id'
responses:
'200':
description: List of contacts
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Contact'
'404':
$ref: '#/components/responses/NotFound'
/customers/{id}/customer_notes:
get:
summary: List notes for a customer
operationId: listCustomerNotes
tags:
- Customers
parameters:
- $ref: '#/components/parameters/id'
responses:
'200':
description: List of customer notes
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/CustomerNote'
'404':
$ref: '#/components/responses/NotFound'
components:
responses:
Unauthorized:
description: Authentication credentials missing or invalid
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
NotFound:
description: Resource not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
UnprocessableEntity:
description: Validation error
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
schemas:
Error:
type: object
properties:
error:
type: string
errors:
type: object
additionalProperties: true
Contact:
type: object
required:
- company_id
- contact_id
- customer_id
properties:
contact_id:
type: string
company_id:
type: string
customer_id:
type: string
display_name:
type:
- string
- 'null'
first_name:
type:
- string
- 'null'
last_name:
type:
- string
- 'null'
email:
type:
- string
- 'null'
phone:
type:
- string
- 'null'
mobile:
type:
- string
- 'null'
job_title:
type:
- string
- 'null'
department:
type:
- string
- 'null'
notes:
type:
- string
- 'null'
address1:
type:
- string
- 'null'
address2:
type:
- string
- 'null'
city:
type:
- string
- 'null'
state:
type:
- string
- 'null'
zip:
type:
- string
- 'null'
country:
type:
- string
- 'null'
custom_fields:
type:
- object
- 'null'
additionalProperties: true
created_by:
type: string
updated_by:
type: string
created_date:
type:
- string
- 'null'
format: date-time
updated_date:
type:
- string
- 'null'
format: date-time
Customer:
type: object
required:
- company_id
- customer_id
properties:
company_id:
type: string
customer_id:
type: string
name:
type:
- string
- 'null'
description:
type:
- string
- 'null'
parent_customer:
type:
- string
- 'null'
website:
type:
- string
- 'null'
payment_terms:
type:
- string
- 'null'
billing_cycle_day:
type:
- string
- 'null'
billing_contact_id:
type:
- string
- 'null'
shipping_contact_id:
type:
- string
- 'null'
status:
type:
- string
- 'null'
billing_batch:
type:
- string
- 'null'
tax_exempt:
type:
- boolean
- 'null'
balance:
type:
- number
- 'null'
auto_pay:
type:
- boolean
- 'null'
currency:
type:
- string
- 'null'
price_book_id:
type:
- string
- 'null'
cmrr:
type:
- number
- 'null'
discounted_cmrr:
type:
- number
- 'null'
carr:
type:
- number
- 'null'
discounted_carr:
type:
- number
- 'null'
delivery_preferences:
type:
- object
- 'null'
properties:
print:
type: boolean
email:
type: boolean
payment_gateway_id:
type:
- string
- 'null'
gateway_name:
type:
- string
- 'null'
last_invoiced_at:
type:
- string
- 'null'
format: date-time
billing_contact_email:
type:
- string
- 'null'
shipping_contact_email:
type:
- string
- 'null'
account_number:
type:
- string
- 'null'
portal_status:
type:
- string
- 'null'
integration_status:
type:
- string
- 'null'
custom_fields:
type:
- object
- 'null'
additionalProperties: true
created_by:
type:
- string
- 'null'
updated_by:
type:
- string
- 'null'
created_date:
type:
- string
- 'null'
format: date-time
updated_date:
type:
- string
- 'null'
format: date-time
CustomerNote:
type: object
required:
- company_id
- customer_note_id
- title
properties:
company_id:
type: string
customer_note_id:
type: string
title:
type: string
description:
type:
- string
- 'null'
file_upload_file_name:
type:
- string
- 'null'
file_upload_content_type:
type:
- string
- 'null'
file_upload_file_size:
type:
- integer
- 'null'
created_at:
type:
- string
- 'null'
format: date-time
updated_at:
type:
- string
- 'null'
format: date-time
CustomerInput:
type: object
properties:
name:
type: string
description:
type: string
parent_customer:
type: string
website:
type: string
payment_terms:
type: string
billing_cycle_day:
type: string
billing_contact_id:
type: string
shipping_contact_id:
type: string
status:
type: string
tax_exempt:
type: boolean
auto_pay:
type: boolean
currency:
type: string
custom_fields:
type: object
additionalProperties: true
parameters:
size:
name: size
in: query
description: Number of records per page
schema:
type: integer
minimum: 1
maximum: 500
default: 50
sort:
name: sort
in: query
description: Comma-separated list of fields to sort by (prefix with - for descending)
schema:
type: string
page:
name: page
in: query
description: Page number for pagination (1-based)
schema:
type: integer
minimum: 1
default: 1
id:
name: id
in: path
required: true
description: Resource identifier
schema:
type: string
securitySchemes:
ApiKeyAuth:
type: apiKey
in: header
name: X-API-KEY
description: Ordway API key
UserTokenAuth:
type: apiKey
in: header
name: X-User-Token
description: Ordway user authentication token
UserEmailAuth:
type: apiKey
in: header
name: X-User-Email
description: Ordway user email address
CompanyAuth:
type: apiKey
in: header
name: X-User-Company
description: Ordway company identifier
externalDocs:
description: Ordway API Documentation
url: https://ordwaylabs.stoplight.io/docs/ordway/ZG9jOjQ4OTgxNg-overview