{
  "service": "fidel_api",
  "displayName": "Fidel API",
  "categories": [
    "Finance",
    "Data"
  ],
  "authTypes": [
    "api_key"
  ],
  "auth": [
    {
      "type": "api_key",
      "label": "Secret API Key",
      "placeholder": "FIDEL_API_SECRET_KEY",
      "description": "Fidel API secret key used with the Fidel-Key header for read-only brands, cards, and transactions endpoints. Create or sign in to the Fidel dashboard to get your test or live secret key: https://dashboard.fidel.uk/sign-in"
    }
  ],
  "homepageUrl": "https://fidel.uk",
  "actions": [
    {
      "id": "fidel_api.get_brand",
      "service": "fidel_api",
      "name": "get_brand",
      "description": "Fetch one Fidel brand by brand ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "brandId": {
            "type": "string",
            "minLength": 1,
            "description": "The Fidel brand ID to fetch."
          }
        },
        "additionalProperties": false,
        "required": [
          "brandId"
        ],
        "description": "The Fidel brand lookup input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "brand": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Fidel brand ID."
              },
              "accountId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Fidel account ID that owns the brand."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "created": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The ISO timestamp when the brand was created."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "updated": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The ISO timestamp when the brand was last updated."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "name": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The brand display name."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "metadata": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The optional metadata object returned by Fidel."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "logoUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The brand logo URL when Fidel returned one."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "live": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the brand belongs to the live environment."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "consent": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the brand requires cardholder consent."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "websiteUrl": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The brand website URL when Fidel returned one."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "accountId",
              "created",
              "updated",
              "name",
              "metadata",
              "logoUrl",
              "live",
              "consent",
              "websiteUrl"
            ],
            "description": "A Fidel brand record normalized by the connector."
          },
          "resource": {
            "type": "string",
            "description": "The Fidel API resource path that handled the request."
          },
          "status": {
            "type": "integer",
            "description": "The upstream HTTP status code returned by Fidel."
          },
          "executionMs": {
            "anyOf": [
              {
                "type": "number",
                "description": "The upstream execution time in milliseconds when Fidel returned it."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "brand",
          "resource",
          "status",
          "executionMs"
        ],
        "description": "The normalized result of fetching one Fidel brand."
      }
    },
    {
      "id": "fidel_api.get_card",
      "service": "fidel_api",
      "name": "get_card",
      "description": "Fetch one Fidel card by card ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "cardId": {
            "type": "string",
            "minLength": 1,
            "description": "The Fidel card ID to fetch."
          }
        },
        "additionalProperties": false,
        "required": [
          "cardId"
        ],
        "description": "The Fidel card lookup input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "card": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Fidel card ID."
              },
              "accountId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Fidel account ID that owns the card."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "countryCode": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The ISO alpha-3 country code for the card."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "created": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The ISO timestamp when the card was created."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "expYear": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The card expiration year."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "expDate": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The ISO date for the card expiration month."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "live": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether the card belongs to the live environment."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "lastNumbers": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The last four card digits."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "expMonth": {
                "anyOf": [
                  {
                    "type": "integer",
                    "description": "The card expiration month."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "updated": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The ISO timestamp when the card was last updated."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "programId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Fidel program ID that owns the card."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "firstNumbers": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The first six card digits."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "scheme": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The card network reported by Fidel."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "type": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The card type reported by Fidel."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "accountId",
              "countryCode",
              "created",
              "expYear",
              "expDate",
              "live",
              "lastNumbers",
              "expMonth",
              "updated",
              "programId",
              "firstNumbers",
              "scheme",
              "type"
            ],
            "description": "A Fidel card record normalized by the connector."
          },
          "resource": {
            "type": "string",
            "description": "The Fidel API resource path that handled the request."
          },
          "status": {
            "type": "integer",
            "description": "The upstream HTTP status code returned by Fidel."
          },
          "executionMs": {
            "anyOf": [
              {
                "type": "number",
                "description": "The upstream execution time in milliseconds when Fidel returned it."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "card",
          "resource",
          "status",
          "executionMs"
        ],
        "description": "The normalized result of fetching one Fidel card."
      }
    },
    {
      "id": "fidel_api.get_transaction",
      "service": "fidel_api",
      "name": "get_transaction",
      "description": "Fetch one Fidel transaction by transaction ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "transactionId": {
            "type": "string",
            "minLength": 1,
            "description": "The Fidel transaction ID to fetch."
          }
        },
        "additionalProperties": false,
        "required": [
          "transactionId"
        ],
        "description": "The Fidel transaction lookup input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "transaction": {
            "type": "object",
            "properties": {
              "id": {
                "type": "string",
                "description": "The Fidel transaction ID."
              },
              "programId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Fidel program ID that owns the transaction."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "accountId": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The Fidel account ID that owns the transaction."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "created": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The ISO timestamp when the transaction was created."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "updated": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The ISO timestamp when the transaction was last updated."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "amount": {
                "anyOf": [
                  {
                    "type": "number",
                    "description": "The transaction amount."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "currency": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The ISO currency code for the transaction."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "authorizationCode": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The normalized authorization or approval code returned by Fidel."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "auth": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Fidel classified the event as an authorization."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "cleared": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Fidel classified the event as cleared."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "wallet": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The optional wallet object returned by Fidel."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "offer": {
                "anyOf": [
                  {
                    "type": "object",
                    "properties": {},
                    "additionalProperties": true,
                    "description": "The optional offer object returned by Fidel."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "datetime": {
                "anyOf": [
                  {
                    "type": "string",
                    "description": "The upstream transaction datetime string returned by Fidel."
                  },
                  {
                    "type": "null"
                  }
                ]
              },
              "card": {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The Fidel card ID."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "firstNumbers": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The first six card digits."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "lastNumbers": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The last four card digits."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "scheme": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The card network reported by Fidel."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false,
                "required": [
                  "id",
                  "firstNumbers",
                  "lastNumbers",
                  "scheme"
                ],
                "description": "The card snapshot nested inside a Fidel transaction."
              },
              "location": {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The Fidel location ID."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "address": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The location street address."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "city": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The location city."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "countryCode": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The ISO alpha-3 country code for the location."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "geolocation": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {
                          "latitude": {
                            "anyOf": [
                              {
                                "type": "number",
                                "description": "The latitude coordinate."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          },
                          "longitude": {
                            "anyOf": [
                              {
                                "type": "number",
                                "description": "The longitude coordinate."
                              },
                              {
                                "type": "null"
                              }
                            ]
                          }
                        },
                        "additionalProperties": false,
                        "required": [
                          "latitude",
                          "longitude"
                        ],
                        "description": "The optional latitude and longitude returned by Fidel for this location."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "postcode": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The location postal code."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "state": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The location state or region field returned by Fidel."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "timezone": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The IANA timezone for the location."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true,
                        "description": "The optional metadata object returned by Fidel."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false,
                "required": [
                  "id",
                  "address",
                  "city",
                  "countryCode",
                  "geolocation",
                  "postcode",
                  "state",
                  "timezone",
                  "metadata"
                ],
                "description": "The location snapshot nested inside a Fidel transaction."
              },
              "brand": {
                "type": "object",
                "properties": {
                  "id": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The Fidel brand ID."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "name": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The brand name."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "logoUrl": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The brand logo URL when Fidel returned one."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "metadata": {
                    "anyOf": [
                      {
                        "type": "object",
                        "properties": {},
                        "additionalProperties": true,
                        "description": "The optional metadata object returned by Fidel."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false,
                "required": [
                  "id",
                  "name",
                  "logoUrl",
                  "metadata"
                ],
                "description": "The brand snapshot nested inside a Fidel transaction."
              },
              "identifiers": {
                "type": "object",
                "properties": {
                  "amexApprovalCode": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The American Express approval code when Fidel returned one."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "mastercardAuthCode": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The Mastercard authorization code when Fidel returned one."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "mastercardRefNumber": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The Mastercard reference number when Fidel returned one."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "mastercardTransactionSequenceNumber": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The Mastercard transaction sequence number when Fidel returned one."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "mid": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The merchant identifier returned by Fidel."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  },
                  "visaAuthCode": {
                    "anyOf": [
                      {
                        "type": "string",
                        "description": "The Visa authorization code when Fidel returned one."
                      },
                      {
                        "type": "null"
                      }
                    ]
                  }
                },
                "additionalProperties": false,
                "required": [
                  "amexApprovalCode",
                  "mastercardAuthCode",
                  "mastercardRefNumber",
                  "mastercardTransactionSequenceNumber",
                  "mid",
                  "visaAuthCode"
                ],
                "description": "Network-specific identifiers returned by Fidel for a transaction."
              },
              "cardPresent": {
                "anyOf": [
                  {
                    "type": "boolean",
                    "description": "Whether Fidel marked the transaction as card present."
                  },
                  {
                    "type": "null"
                  }
                ]
              }
            },
            "additionalProperties": false,
            "required": [
              "id",
              "programId",
              "accountId",
              "created",
              "updated",
              "amount",
              "currency",
              "authorizationCode",
              "auth",
              "cleared",
              "wallet",
              "offer",
              "datetime",
              "card",
              "location",
              "brand",
              "identifiers",
              "cardPresent"
            ],
            "description": "A Fidel transaction record normalized by the connector."
          },
          "resource": {
            "type": "string",
            "description": "The Fidel API resource path that handled the request."
          },
          "status": {
            "type": "integer",
            "description": "The upstream HTTP status code returned by Fidel."
          },
          "executionMs": {
            "anyOf": [
              {
                "type": "number",
                "description": "The upstream execution time in milliseconds when Fidel returned it."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "transaction",
          "resource",
          "status",
          "executionMs"
        ],
        "description": "The normalized result of fetching one Fidel transaction."
      }
    },
    {
      "id": "fidel_api.list_brands",
      "service": "fidel_api",
      "name": "list_brands",
      "description": "List Fidel brands available to the connected secret API key.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of brands to return."
          },
          "start": {
            "type": "string",
            "minLength": 1,
            "description": "The opaque cursor string returned as nextCursor by a previous Fidel list action. Pass it back unchanged."
          },
          "order": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "Sort order for the upstream created or datetime field."
          },
          "name": {
            "type": "string",
            "minLength": 1,
            "description": "Filter brands by name."
          }
        },
        "additionalProperties": false,
        "description": "Optional filters for listing Fidel brands."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of brands returned by Fidel."
          },
          "brands": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The Fidel brand ID."
                },
                "accountId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Fidel account ID that owns the brand."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "created": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The ISO timestamp when the brand was created."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "updated": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The ISO timestamp when the brand was last updated."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "name": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The brand display name."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "metadata": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "The optional metadata object returned by Fidel."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "logoUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The brand logo URL when Fidel returned one."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "live": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the brand belongs to the live environment."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "consent": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the brand requires cardholder consent."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "websiteUrl": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The brand website URL when Fidel returned one."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "id",
                "accountId",
                "created",
                "updated",
                "name",
                "metadata",
                "logoUrl",
                "live",
                "consent",
                "websiteUrl"
              ],
              "description": "A Fidel brand record normalized by the connector."
            },
            "description": "The brand records returned by Fidel."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor string to pass back as start in the next list_brands call, or null when absent."
              },
              {
                "type": "null"
              }
            ]
          },
          "resource": {
            "type": "string",
            "description": "The Fidel API resource path that handled the request."
          },
          "status": {
            "type": "integer",
            "description": "The upstream HTTP status code returned by Fidel."
          },
          "executionMs": {
            "anyOf": [
              {
                "type": "number",
                "description": "The upstream execution time in milliseconds when Fidel returned it."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "count",
          "brands",
          "nextCursor",
          "resource",
          "status",
          "executionMs"
        ],
        "description": "The normalized result of listing Fidel brands."
      }
    },
    {
      "id": "fidel_api.list_cards",
      "service": "fidel_api",
      "name": "list_cards",
      "description": "List Fidel cards for one program ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "programId": {
            "type": "string",
            "minLength": 1,
            "description": "The Fidel program ID whose cards you want to list."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of cards to return."
          },
          "start": {
            "type": "string",
            "minLength": 1,
            "description": "The opaque cursor string returned as nextCursor by a previous Fidel list action. Pass it back unchanged."
          },
          "order": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "Sort order for the upstream created or datetime field."
          }
        },
        "additionalProperties": false,
        "required": [
          "programId"
        ],
        "description": "The Fidel card list input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of cards returned by Fidel."
          },
          "cards": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The Fidel card ID."
                },
                "accountId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Fidel account ID that owns the card."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "countryCode": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The ISO alpha-3 country code for the card."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "created": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The ISO timestamp when the card was created."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "expYear": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The card expiration year."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "expDate": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The ISO date for the card expiration month."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "live": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether the card belongs to the live environment."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "lastNumbers": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The last four card digits."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "expMonth": {
                  "anyOf": [
                    {
                      "type": "integer",
                      "description": "The card expiration month."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "updated": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The ISO timestamp when the card was last updated."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "programId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Fidel program ID that owns the card."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "firstNumbers": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The first six card digits."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "scheme": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The card network reported by Fidel."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "type": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The card type reported by Fidel."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "id",
                "accountId",
                "countryCode",
                "created",
                "expYear",
                "expDate",
                "live",
                "lastNumbers",
                "expMonth",
                "updated",
                "programId",
                "firstNumbers",
                "scheme",
                "type"
              ],
              "description": "A Fidel card record normalized by the connector."
            },
            "description": "The card records returned by Fidel."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor string to pass back as start in the next list_cards call, or null when absent."
              },
              {
                "type": "null"
              }
            ]
          },
          "resource": {
            "type": "string",
            "description": "The Fidel API resource path that handled the request."
          },
          "status": {
            "type": "integer",
            "description": "The upstream HTTP status code returned by Fidel."
          },
          "executionMs": {
            "anyOf": [
              {
                "type": "number",
                "description": "The upstream execution time in milliseconds when Fidel returned it."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "count",
          "cards",
          "nextCursor",
          "resource",
          "status",
          "executionMs"
        ],
        "description": "The normalized result of listing Fidel cards."
      }
    },
    {
      "id": "fidel_api.list_transactions",
      "service": "fidel_api",
      "name": "list_transactions",
      "description": "List Fidel transactions for one program ID.",
      "requiredScopes": [],
      "providerPermissions": [],
      "inputSchema": {
        "type": "object",
        "properties": {
          "programId": {
            "type": "string",
            "minLength": 1,
            "description": "The Fidel program ID whose transactions you want to list."
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "description": "The maximum number of transactions to return."
          },
          "start": {
            "type": "string",
            "minLength": 1,
            "description": "The opaque cursor string returned as nextCursor by a previous Fidel list action. Pass it back unchanged."
          },
          "order": {
            "type": "string",
            "enum": [
              "asc",
              "desc"
            ],
            "description": "Sort order for the upstream created or datetime field."
          },
          "from": {
            "type": "string",
            "minLength": 1,
            "description": "The inclusive starting ISO date-time filter.",
            "format": "date-time"
          },
          "to": {
            "type": "string",
            "minLength": 1,
            "description": "The inclusive ending ISO date-time filter.",
            "format": "date-time"
          }
        },
        "additionalProperties": false,
        "required": [
          "programId"
        ],
        "description": "The Fidel transaction list input."
      },
      "outputSchema": {
        "type": "object",
        "properties": {
          "count": {
            "type": "integer",
            "description": "The number of transactions returned by Fidel."
          },
          "transactions": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "id": {
                  "type": "string",
                  "description": "The Fidel transaction ID."
                },
                "programId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Fidel program ID that owns the transaction."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "accountId": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The Fidel account ID that owns the transaction."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "created": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The ISO timestamp when the transaction was created."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "updated": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The ISO timestamp when the transaction was last updated."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "amount": {
                  "anyOf": [
                    {
                      "type": "number",
                      "description": "The transaction amount."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "currency": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The ISO currency code for the transaction."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "authorizationCode": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The normalized authorization or approval code returned by Fidel."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "auth": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether Fidel classified the event as an authorization."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "cleared": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether Fidel classified the event as cleared."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "wallet": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "The optional wallet object returned by Fidel."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "offer": {
                  "anyOf": [
                    {
                      "type": "object",
                      "properties": {},
                      "additionalProperties": true,
                      "description": "The optional offer object returned by Fidel."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "datetime": {
                  "anyOf": [
                    {
                      "type": "string",
                      "description": "The upstream transaction datetime string returned by Fidel."
                    },
                    {
                      "type": "null"
                    }
                  ]
                },
                "card": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The Fidel card ID."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "firstNumbers": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The first six card digits."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "lastNumbers": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The last four card digits."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "scheme": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The card network reported by Fidel."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "firstNumbers",
                    "lastNumbers",
                    "scheme"
                  ],
                  "description": "The card snapshot nested inside a Fidel transaction."
                },
                "location": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The Fidel location ID."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "address": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The location street address."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "city": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The location city."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "countryCode": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The ISO alpha-3 country code for the location."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "geolocation": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {
                            "latitude": {
                              "anyOf": [
                                {
                                  "type": "number",
                                  "description": "The latitude coordinate."
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            },
                            "longitude": {
                              "anyOf": [
                                {
                                  "type": "number",
                                  "description": "The longitude coordinate."
                                },
                                {
                                  "type": "null"
                                }
                              ]
                            }
                          },
                          "additionalProperties": false,
                          "required": [
                            "latitude",
                            "longitude"
                          ],
                          "description": "The optional latitude and longitude returned by Fidel for this location."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "postcode": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The location postal code."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "state": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The location state or region field returned by Fidel."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "timezone": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The IANA timezone for the location."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "metadata": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {},
                          "additionalProperties": true,
                          "description": "The optional metadata object returned by Fidel."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "address",
                    "city",
                    "countryCode",
                    "geolocation",
                    "postcode",
                    "state",
                    "timezone",
                    "metadata"
                  ],
                  "description": "The location snapshot nested inside a Fidel transaction."
                },
                "brand": {
                  "type": "object",
                  "properties": {
                    "id": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The Fidel brand ID."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "name": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The brand name."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "logoUrl": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The brand logo URL when Fidel returned one."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "metadata": {
                      "anyOf": [
                        {
                          "type": "object",
                          "properties": {},
                          "additionalProperties": true,
                          "description": "The optional metadata object returned by Fidel."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "id",
                    "name",
                    "logoUrl",
                    "metadata"
                  ],
                  "description": "The brand snapshot nested inside a Fidel transaction."
                },
                "identifiers": {
                  "type": "object",
                  "properties": {
                    "amexApprovalCode": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The American Express approval code when Fidel returned one."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "mastercardAuthCode": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The Mastercard authorization code when Fidel returned one."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "mastercardRefNumber": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The Mastercard reference number when Fidel returned one."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "mastercardTransactionSequenceNumber": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The Mastercard transaction sequence number when Fidel returned one."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "mid": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The merchant identifier returned by Fidel."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    },
                    "visaAuthCode": {
                      "anyOf": [
                        {
                          "type": "string",
                          "description": "The Visa authorization code when Fidel returned one."
                        },
                        {
                          "type": "null"
                        }
                      ]
                    }
                  },
                  "additionalProperties": false,
                  "required": [
                    "amexApprovalCode",
                    "mastercardAuthCode",
                    "mastercardRefNumber",
                    "mastercardTransactionSequenceNumber",
                    "mid",
                    "visaAuthCode"
                  ],
                  "description": "Network-specific identifiers returned by Fidel for a transaction."
                },
                "cardPresent": {
                  "anyOf": [
                    {
                      "type": "boolean",
                      "description": "Whether Fidel marked the transaction as card present."
                    },
                    {
                      "type": "null"
                    }
                  ]
                }
              },
              "additionalProperties": false,
              "required": [
                "id",
                "programId",
                "accountId",
                "created",
                "updated",
                "amount",
                "currency",
                "authorizationCode",
                "auth",
                "cleared",
                "wallet",
                "offer",
                "datetime",
                "card",
                "location",
                "brand",
                "identifiers",
                "cardPresent"
              ],
              "description": "A Fidel transaction record normalized by the connector."
            },
            "description": "The transaction records returned by Fidel."
          },
          "nextCursor": {
            "anyOf": [
              {
                "type": "string",
                "description": "The cursor string to pass back as start in the next list_transactions call, or null when absent."
              },
              {
                "type": "null"
              }
            ]
          },
          "resource": {
            "type": "string",
            "description": "The Fidel API resource path that handled the request."
          },
          "status": {
            "type": "integer",
            "description": "The upstream HTTP status code returned by Fidel."
          },
          "executionMs": {
            "anyOf": [
              {
                "type": "number",
                "description": "The upstream execution time in milliseconds when Fidel returned it."
              },
              {
                "type": "null"
              }
            ]
          }
        },
        "additionalProperties": false,
        "required": [
          "count",
          "transactions",
          "nextCursor",
          "resource",
          "status",
          "executionMs"
        ],
        "description": "The normalized result of listing Fidel transactions for one program."
      }
    }
  ]
}
