When to use this endpoint

Use after creating a requisition or changing its header. Lines require a separate reader; this returns one raw header object, unlike the mapped detail arrays.

Authentication and permissions

Authenticate with signed API-key fields or a logged-in CRM session. API keys use their owner’s tenant; session dispatch applies CSRF checks. Office requisition access requires View on Requisition Order or Requisition Orders. A visible UI control is not sufficient authorization.

Tenant and TeamAccess/legacy department scope apply to headers and to the parent of each line. Deleted parents hide their lines. Scoped users can see their own unlinked requisitions; the legacy department-only rule retains its target-based visibility. There is no additional Requisition feature-entitlement check.

Parameters

ParameterTypeRequiredDescription
idPositive integerYesExisting, non-deleted requisition ID in the authenticated tenant and your record scope.

Example request

$result = FM_api('RequisitionOrder_get', [
	'id' => '1042',
]);

Example response

{
  "ro_id": "1042",
  "target_type": null,
  "target_id": null,
  "status": "0",
  "total_net": "0",
  "total_tax": "0",
  "cdate": "2026-11-03 09:00:00",
  "user_id": "104",
  "delivery_date": null,
  "description": "Materials for north site",
  "date_approved": null,
  "attention": null,
  "instructions": null,
  "delivery_net": null,
  "delivery_taxcode": null,
  "delivery_tax": null,
  "delivery_address": null,
  "name": "Example user",
  "po_ids": null,
  "departments": "[7]"
}

Illustrative header with an existing user. Null/default formatting depends on the saved row; every shown key is selected by the handler.

Errors and unusual responses

ResponseCondition
{"error":"not logged in"}No authenticated tenant context is available. Invalid signed credentials can be rejected by the dispatcher before the handler runs.
{"error":"no id"}id is absent.
{"error":"requisition order does not exist"}Dispatcher rejects a missing, deleted or out-of-scope positive ID.

Legacy application errors may be returned with HTTP 200. Check the decoded response for error, not only the HTTP status.

Behaviour and edge cases

  • The dispatcher requires a positive visible non-deleted header before the raw reader left-joins its requesting user. A missing/deleted/out-of-scope ID is rejected with an error. The raw handler’s historical false result is not a successful lookup contract.
  • The header identifier is ro_id, not id. name and departments come from the joined user, not the order; missing users yield null. Database numeric values are normally strings.
  • No fields projection, ordering, filters or pagination apply. Target/approval/delivery/po_ids values remain stored scalar strings/null; the endpoint does not calculate totals or decode departments.

See it in Fieldmotion

CRM1

Open the CRM1 Requisition Order details and filter for RequisitionOrder_get; saving/deleting lines also reloads it.

CRM2

No direct caller was found in CRM2 source. Its requisition screen uses mapped layout reads/writes instead of this legacy endpoint.

Related endpoints