This service allows you to create new card records.

It performs the same function as creating a card in the Cards / Card Details tab does.

Permissions

To run this API, the nominated 'web-services' role needs to be given permission.

If you are not actively using the API, leave the permission off for better security.

Note: This API is not configured for external use.
Contact your Account Manager to discuss access to this API.

HTTP Method

Use the HTTP Method 'POST' for consuming this web service.

URL Examples

https://api.demo.catch-e.com/authenticate https://api..catch-e.com/authenticate https://api.test.catch-e.com/fm/cards

Input Fields (Header)

Key

Format

Notes

Mandatory

Audit-User-Id

Number

User ID that you want to show as the user in audit records. To use this Key, the authorised role must have the permission Audit:UserIdOverride enabled.

No

Input Fields (Body)

JSON Field

Format

Notes

Mandatory

contract_id

Number

The Contract ID the card should be linked to.

Yes

card_number

Number

Card number provided by the supplier.

Yes

supplier_id

Number

The supplier the card is linked to. * .

Yes

account_number

Number

Account number of the card

No

posting_flag

Text

This updates and defaults to 'yes' if it is not specified.

No

recharge_flag

Text

This updates . If this Key is not specified the value will default from the linked Contract Types / Expense-Approvals "R" fild for the ‘F - Fuel’ record.

No

client_id_recharge

Number

This updates . If this Key is not specified, the Client ID that is attached to the Contract will be used. Cannot be blank if “Posting Enabled” flag = ‘yes’.

No

history_only

Text

( – This defaults from Clients / Contract Defaults "History Only".

No

date_activated

Text

No

date_inactivated

Text

No

expiry_date

Text

No

card_sub_status_id

Number

Pass the sub status you want for the card.

No

status_flag

Text

Pass the status of the card. The default entry is 'active'.

No

notes

Text

Notes to be stored with the attachment

No

Successful Response Example

{
  "_links": {
    "self": {
      "href": "https://api.support.catch-e.com/fm/cards"
    }
  },
  "_embedded": {
    "fm_cards": [
      {
        "card_id": "string",
        "contract_id": "string",
        "card_number": "string",
        "account_number": "string",
        "supplier_id": "string",
        "posting_flag": "yes",
        "recharge_flag": "no",
        "client_id_recharge": "string",
        "history_only_flag": "no",
        "activated_date": "2026-08-20",
        "inactivated_date": "2026-08-20",
        "expiry_date": "2026-08-20",
        "card_sub_status_id": "string",
        "notes": "string",
        "status_flag": "active"
      }
    ]
  },
  "page_count": 1,
  "page_size": 25,
  "total_items": 1,
  "page": 1
}

Error Response Details

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Unauthorized", "status": 401, "detail": "Unauthorized"}
{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "Forbidden", "status": 403, "detail": "Forbidden"}

}, "target_table": { "notInArray": "Unsupported target table" },|
 "contract_id": { "isEmpty": "Value is required and can't be empty"

 "card_number": { "duplicateCardNumber": "The specified card number already exists"
 "card_sub_status_id": { "noRecordFound": "No record matching the input was found"

 "client_id_recharge": { "noRecordFound": "No record matching the input was found"
 "expiry_date": { "dateFalseFormat": "The input does not fit the date format 'Y-m-d'", "dateInvalidDate": "The input does not appear to be a valid date"

 "posting_flag": { "rechargeClientRequired": "Recharge A/c be blank if 'Posting Enabled' is checked on"
 "supplier_id": { "noRecordFound": "No record matching the input was found"

{ "type": "http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html", "title": "string", "status": 0, "detail": "string"}