Skip to content

System Task API ​

System task endpoints expose data that is institution-scoped rather than user-scoped: the list of every institution available in CBORD GET, per-institution metadata, photos, feature flags, SOA encoding keys, and mobile credentials.

These endpoints don't use a user session — they use a system session token. A system session is a UUIDv4 obtained by authenticating with hard-coded systemCredentials rather than device_id/pin. The wrapper does this for you when you hit /api/v2/system/auth.

IMPORTANT

The session_id accepted by every endpoint on this page is a system session token, not the user-session token returned by /api/v2/auth. The two token types are minted by different CBORD methods (authenticateSystem vs authenticatePIN) and are not interchangeable.

TIP

System sessions don't need device_id or pin to renew — the wrapper just calls authenticateSystem again. So auto_renew_session on these endpoints requires no extra credentials.

Create / Validate System Session ​

Mints a new system session, or echoes back the provided one if still valid.

plaintext
POST /api/v2/system/auth

Request Parameters ​

Body ParametersTypeRequiredDescription
session_idstringNOIf provided and still valid, the same session_id is returned. Otherwise a brand new one is minted via authenticateSystem. Pass null, "getNewSession", or omit to force a new session.

Success Response ​

json
{
    "response": "{SYSTEM_SESSION_ID}",
    "exception": null
}

Details ​

This endpoint does not participate in the auto_renew_session flow — it is the renewal mechanism. Repeated calls won't close prior system sessions automatically; use /api/v2/system/closeSession if you need to retire one.

Validate System Session ​

Checks whether a system session_id is still valid without minting a new one on failure.

plaintext
POST /api/v2/system/validate

Request Parameters ​

Body ParametersTypeRequiredDescription
session_idstringYESSystem session token to validate.

Success Response ​

json
{ "session_valid": true }

Failure Response ​

json
{ "session_valid": false }

NOTE

Internally this probes the lightest system-scoped CBORD call available (institution.retrieveLookupList) and treats a non-null exception (e.g. 4001|Session not found) as invalid. CBORD's authenticateSessionToken method is not used for validation here — empirically it returns {"response":"","exception":null} for any input, so it cannot distinguish valid from invalid sessions.

Close System Session ​

Force-closes a system session_id.

plaintext
POST /api/v2/system/closeSession

Request Parameters ​

Body ParametersTypeRequiredDescription
session_idstringYESSystem session token to close.

Success Response ​

json
{
    "response": true,
    "exception": null
}

Auto-Renew Behavior For System Task Endpoints ​

Every endpoint below this point accepts the standard auto-renew parameters. Because system sessions don't require device_id or pin to renew, the wrapper only needs your existing (or missing) token and the boolean opt-in flag.

Body ParametersTypeRequiredDescription
session_idstringYES (unless auto_renew_session=true and you want the wrapper to mint one)System session token.
auto_renew_sessionbooleanNOSet true to have the wrapper validate session_id and silently mint a new one if it's expired or missing.

When auto_renew_session is true, every successful response includes an autoRenewConfig key alongside response:

json
{
    "response": ...,
    "exception": null,
    "autoRenewConfig": {
        "sessionIdChanged": true,
        "token": "{SYSTEM_SESSION_ID_USED}"
    }
}
  • sessionIdChanged — true if the wrapper minted a new session; false if your supplied session_id was still valid.
  • token — the session token that actually fulfilled the request. Save this for reuse.

IMPORTANT

Unlike the user-session counterpart, this auto-renew flow requires no extra body parameters (no device_id, no pin). The error code WA001 from the commerce/user endpoints does not apply here. If renewal itself fails, you'll get WA005 instead (see Common Errors).

Get All Institutions ​

Lists every institution available in the CBORD GET system. Backed by institution.retrieveLookupList.

plaintext
POST /api/v2/system/getInstitutions

Request Parameters ​

See Auto-Renew Behavior for session_id / auto_renew_session.

Success Response ​

json
{
    "response": [
        {
            "id": "{INSTITUTION_ID_UUID_V4}",
            "name": "{INSTITUTION_NAME}",
            "shortName": "{INSTITUTION_SHORT_NAME}",
            "type": 0
        }
    ],
    "exception": null,
    "autoRenewConfig": {
        "sessionIdChanged": false,
        "token": "{SYSTEM_SESSION_ID}"
    }
}

NOTE

The shape and keys returned in each entry are passed through from CBORD. Field coverage varies — schools may include or omit certain fields depending on how the institution is configured.

Get Institution Details ​

Returns the full detail record for one institution. Backed by institution.retrieve.

plaintext
POST /api/v2/system/getInstitution

Request Parameters ​

Body ParametersTypeRequiredDescription
session_idstringYES (or auto-renew)System session token.
institution_idstringYESUUIDv4 of the institution to retrieve.
auto_renew_sessionbooleanNOSee Auto-Renew Behavior.

Success Response ​

json
{
    "response": {
        "id": "{INSTITUTION_ID_UUID_V4}",
        "name": "{INSTITUTION_NAME}",
        "shortName": "{INSTITUTION_SHORT_NAME}",
        "type": 0
    },
    "exception": null,
    "autoRenewConfig": {
        "sessionIdChanged": false,
        "token": "{SYSTEM_SESSION_ID}"
    }
}

NOTE

response.type appears to be 0 for schools and 1 for hospitals/medical locations, though the full enum is not documented by CBORD.

Failure Response ​

WA006: Missing institution_id
json
{
    "response": null,
    "exception": "WA006: institution_id is required",
    "exceptionCode": "WA006"
}

Get Institution Photo ​

Retrieves the institution photo. Backed by institution.retrieveInstitutionPhoto.

plaintext
POST /api/v2/system/getInstitutionPhoto

Request Parameters ​

Body ParametersTypeRequiredDescription
session_idstringYES (or auto-renew)System session token.
institution_idstringYESUUIDv4 of the institution.
auto_renew_sessionbooleanNOSee Auto-Renew Behavior.

Success Response ​

json
{
    "response": {
        "id": "{PHOTO_ID}",
        "mimeType": "image/png",
        "data": "{BASE64_ENCODED_IMAGE}"
    },
    "exception": null,
    "autoRenewConfig": {
        "sessionIdChanged": false,
        "token": "{SYSTEM_SESSION_ID}"
    }
}

NOTE

Exact response shape is passed through from CBORD. The image payload is base64-encoded in response.data (or equivalent field — confirm against your institution's response).

Failure Response ​

WA006: Missing institution_id
json
{
    "response": null,
    "exception": "WA006: institution_id is required",
    "exceptionCode": "WA006"
}

Get Institution Features ​

Returns the full list of feature flags configured for an institution. Backed by configuration.retrieveSettingList with category=feature, domain=get.

plaintext
POST /api/v2/system/getInstitutionFeatures

Request Parameters ​

Body ParametersTypeRequiredDescription
session_idstringYES (or auto-renew)System session token.
institution_idstringYESUUIDv4 of the institution.
auto_renew_sessionbooleanNOSee Auto-Renew Behavior.

Success Response ​

json
{
    "response": [
        {
            "id": "{SETTING_ID}",
            "name": "enable_mobile_pin_entry",
            "domain": "get",
            "category": "feature",
            "contentMediaType": 1,
            "value": "true",
            "description": "..."
        }
    ],
    "exception": null,
    "autoRenewConfig": {
        "sessionIdChanged": false,
        "token": "{SYSTEM_SESSION_ID}"
    }
}

Failure Response ​

WA006: Missing institution_id
json
{
    "response": null,
    "exception": "WA006: institution_id is required",
    "exceptionCode": "WA006"
}

Get Single Institution Feature ​

Returns one named feature flag for an institution. Useful for checking availability of a specific feature (e.g. mobile PIN entry) without pulling the whole list. Backed by configuration.retrieveSetting with category=feature, domain=get.

plaintext
POST /api/v2/system/getInstitutionFeature

Request Parameters ​

Body ParametersTypeRequiredDescription
session_idstringYES (or auto-renew)System session token.
institution_idstringYESUUIDv4 of the institution.
feature_namestringYESName of the feature flag (e.g. enable_mobile_pin_entry).
auto_renew_sessionbooleanNOSee Auto-Renew Behavior.

Success Response ​

json
{
    "response": {
        "id": "{SETTING_ID}",
        "name": "enable_mobile_pin_entry",
        "domain": "get",
        "category": "feature",
        "contentMediaType": 1,
        "value": "true",
        "description": "..."
    },
    "exception": null,
    "autoRenewConfig": {
        "sessionIdChanged": false,
        "token": "{SYSTEM_SESSION_ID}"
    }
}

Failure Response ​

WA007: Missing institution_id or feature_name
json
{
    "response": null,
    "exception": "WA007: institution_id and feature_name are required",
    "exceptionCode": "WA007"
}

Get Institution SOA Key ​

Retrieves an institution's SOA encoding key — used by GET Mobile to compute SOA barcodes for cashless transactions. Backed by configuration.retrieveSetting with category=general, domain=soa, name=key.

plaintext
POST /api/v2/system/getInstitutionSOAKey

TIP

This is the system-task equivalent of the legacy /api/v2/getInstitutionKey endpoint. The legacy endpoint always mints a new system session on every call; this one lets you reuse a system session, which is cheaper if you're already making multiple system task requests.

Request Parameters ​

Body ParametersTypeRequiredDescription
session_idstringYES (or auto-renew)System session token.
institution_idstringYESUUIDv4 of the institution.
auto_renew_sessionbooleanNOSee Auto-Renew Behavior.

Success Response ​

json
{
    "response": {
        "id": "{SETTING_ID}",
        "name": "key",
        "domain": "soa",
        "category": "general",
        "contentMediaType": 1,
        "value": "{ENCODING_KEY}",
        "description": "SOA institution encoding key. ex: A1B2C3D4E5F601020910"
    },
    "exception": null,
    "autoRenewConfig": {
        "sessionIdChanged": false,
        "token": "{SYSTEM_SESSION_ID}"
    }
}

Failure Response ​

WA006: Missing institution_id
json
{
    "response": null,
    "exception": "WA006: institution_id is required",
    "exceptionCode": "WA006"
}

Get Institution Mobile Credentials ​

Returns the list of mobile credential settings (API keys, integration tokens, etc.) configured for an institution. Backed by configuration.retrieveSettingList with category=mobile_credentials, domain=get.

plaintext
POST /api/v2/system/getInstitutionMobileCredentials

Request Parameters ​

Body ParametersTypeRequiredDescription
session_idstringYES (or auto-renew)System session token.
institution_idstringYESUUIDv4 of the institution.
auto_renew_sessionbooleanNOSee Auto-Renew Behavior.

Success Response ​

json
{
    "response": [
        {
            "id": "{SETTING_ID}",
            "name": "{CREDENTIAL_NAME}",
            "domain": "get",
            "category": "mobile_credentials",
            "contentMediaType": 1,
            "value": "{CREDENTIAL_VALUE}",
            "description": "..."
        }
    ],
    "exception": null,
    "autoRenewConfig": {
        "sessionIdChanged": false,
        "token": "{SYSTEM_SESSION_ID}"
    }
}

Failure Response ​

WA006: Missing institution_id
json
{
    "response": null,
    "exception": "WA006: institution_id is required",
    "exceptionCode": "WA006"
}

Common Errors ​

WA005: System session renewal failed

Returned when auto_renew_session=true, the supplied session_id was invalid (or missing), and the wrapper's call to authenticateSystem itself also failed. The raw CBORD response is included as cbordResponse for debugging.

json
{
    "response": null,
    "exception": "WA005: Unable to renew system session",
    "exceptionCode": "WA005",
    "cbordResponse": { ... }
}
WA006: institution_id is required
json
{
    "response": null,
    "exception": "WA006: institution_id is required",
    "exceptionCode": "WA006"
}
WA007: institution_id and feature_name are required
json
{
    "response": null,
    "exception": "WA007: institution_id and feature_name are required",
    "exceptionCode": "WA007"
}