sailing Foudra MRP

Developer manual

Foudra has a JSON API, so your own programs can read and change your company's data: a shop that sends its orders in as demand, a print farm that takes its next job and reports what it made, a script that imports a supplier's price list. This manual is for the people writing those programs. It shows how, with examples in Python.

The reference manual's API page lists every endpoint. The OpenAPI description is the same list for tools to read.

The shape of it

  • Your company's own address. The API is at https://<your company>.foudra.com/api/…, the address you sign in at. A key works only there.
  • A key or a token on every request, as Authorization: Bearer …. Your own scripts use an API key. An application that many companies will use asks each user for permission through OAuth instead.
  • JSON in and out, except for uploads (multipart form data) and files (their own type).
  • Decimals are strings. Quantities and money are "12.5000", never 12.5, because a JSON number is a floating-point number and these are exact. Read them into decimal.Decimal, not float.
  • Times are UTC, as RFC 3339 (2026-11-04T09:30:00Z); dates are 2026-11-04.
  • Errors are {"error": "…"} with a status that means what it says: 400 a malformed request, 401 a missing or revoked key, 402 the company's subscription has lapsed, 403 the key's scope or the user's role doesn't allow it, 404 not found (or in another company), 409 not in a state that allows it, 422 the request was understood and refused. The message is written for a person; show it.
  • Lists are paged: ?page=2&per=100 (per is 10, 25, 50 or 100), and the answer carries page, pages and total beside data.
  • Changes are made in someone's name: the person who created the key, or who allowed the application.

Contents

Page What it covers
API keys Making a key, keeping it safe, sending it, scopes, replacing one
Python Reading, paging, creating, uploading and downloading files, errors, retrying safely
OAuth An application for many companies: the sign-in flow, tokens, refreshing
Webhooks Being told when something happens, and checking the message came from Foudra
OpenAPI The machine-readable description of the API
Tools Ready-made scripts you can use or copy: imports, syncs, a small client

If something here is wrong or missing, tell us with Report a problem in the app.