OBAPI OBAPI

OpenBusinessAPI -- draft version 1

Sources: GitHub | Specification

Base endpoint

/obapi/v1

Overview

OBAPI objects are organized in three tiers:

Tier 1 -- Core

Essential B2B exchange. Covers 90% of business interoperability needs.

Endpoint Description
GET /obapi/v1 Discovery -- server capabilities
GET /obapi/v1/thirdparty Provider identity
GET /obapi/v1/contacts Contact persons
GET /obapi/v1/products Product & service catalog
GET /obapi/v1/proposals Sales quotations
GET /obapi/v1/orders Customer orders
GET /obapi/v1/invoices Customer invoices
GET /obapi/v1/creditnotes Credit notes / avoirs
GET /obapi/v1/shipments Delivery / despatch advice
GET /obapi/v1/download/{id} Document download (PDF)

Tier 2 -- Extended

Supplier-side flows and service management.

Endpoint Description
GET /obapi/v1/supplier-proposals Supplier proposals / RFQ
GET /obapi/v1/supplier-orders Purchase orders
GET /obapi/v1/supplier-invoices Supplier invoices received
GET /obapi/v1/receptions Goods receipt
GET /obapi/v1/contracts Service contracts / subscriptions
GET /obapi/v1/interventions Service intervention reports
GET /obapi/v1/tickets Support tickets

Tier 3 -- Advanced

Internal objects shareable between entities (consortiums, cooperatives, multi-site).

Endpoint Description
GET /obapi/v1/projects Project tracking
GET /obapi/v1/tasks Project tasks
GET /obapi/v1/expense-reports Expense claims
GET /obapi/v1/boms Bill of materials
GET /obapi/v1/manufacturing-orders Manufacturing orders
GET /obapi/v1/warehouses Stock locations
GET /obapi/v1/members Association members
GET /obapi/v1/categories Shared classification

Errors

Conventional HTTP response codes:

  • 2xx success
  • 4xx client error (invalid parameters, authentication, not found)
  • 5xx server error

Error response format

{
    "error": {
        "type": "not_found",
        "code": "OBJECT_NOT_FOUND",
        "message": "Requested object does not exist"
    }
}

Pagination

All list endpoints return paginated results:

{
    "items": [ "..." ],
    "pagination": {
        "page": 1,
        "per_page": 50,
        "total_items": 234,
        "total_pages": 5
    }
}

Parameters: page (default: 1), per_page (default: 50, max: 200).

Data types

  • Dates: ISO 8601 (2024-05-23 or 2024-05-23T14:30:00Z)
  • Amounts: strings with decimal point ("1527.00", not floats)
  • Currency: ISO 4217 (EUR, USD)
  • Booleans: JSON true / false
  • IDs: always strings

OpenAPI

The full OpenAPI 3.1.0 specification is available on GitHub for generating clients and interactive documentation.