{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/payrix/main/json-schema/payrix-credentials-post-request-schema.json",
  "title": "credentialsPostRequest",
  "x-generated": "2026-09-21",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/payrix-credentials-api-openapi.yml#/components/schemas/credentialsPostRequest",
  "required": [
    "entity",
    "username",
    "integration",
    "type"
  ],
  "type": "object",
  "properties": {
    "entity": {
      "type": "string",
      "description": "The identifier of the Entity that this Credential resource belongs to."
    },
    "name": {
      "type": "string",
      "description": "The name of this Credential resource. \nThis field is stored as a text string and must be between 1 and 100 characters long."
    },
    "description": {
      "type": "string",
      "description": "A description of this Credential resource. \nThis field is stored as a text string and must be between 1 and 100 characters long."
    },
    "username": {
      "type": "string",
      "description": "The username to use when authenticating to the integration associated with this Credential resource. \nThis field is stored as a text string and must be between 1 and 50 characters long."
    },
    "password": {
      "type": "string",
      "description": "The password to use when authenticating to the integration associated with this Credential resource. \nThis field is stored as a text string and must be between 1 and 50 characters long."
    },
    "connectUsername": {
      "type": "string",
      "description": "The username to use when connecting to the integration associated with this Credential resource. \nThis field is stored as a text string and must be between 1 and 50 characters long. \nThis field is only necessary when it is required by the integration."
    },
    "connectPassword": {
      "type": "string",
      "description": "The password to use when connecting to the integration associated with this Credential resource. \nThis field is stored as a text string and must be between 1 and 50 characters long. \nThis field is only necessary when it is required by the integration."
    },
    "integration": {
      "allOf": [
        {
          "$ref": "#/$defs/credentialIntegration"
        },
        {
          "description": "The payment platform integration using credential logins. \n\n<details>\n<summary>Valid Values</summary>\n\n- `APPLE` - **Apple API**\n\n- `ELAVON` - **Elavon API**\n\n- `FEDACH` - **FedACH Account Integration**\n\n- `FIRSTDATA` - **FirstData / Clover Integration**\n\n- `NEUTRINO` - **Neutrino eCommerce Integration**\n\n- `OFAC` - **Office of Foreign Assets Control Sanctions**\n\n- `PAYRIX` - **Payrix API**\n\n- `PLAID` - **Plaid Account Integration**\n\n- `SIFT` - **Sift Fraud Management**\n\n- `SOCURE` - **Socure ID Verification**\n\n- `SOUNDPAYMENTS` - **Sound Payments POS**\n\n- `TDBANK` - **TD Bank Platform**\n\n- `VANTIV` - **WorldPay / Vantiv eComm Platform**\n\n- `VCORE` - **WorldPay / Vantiv Core Platform**\n\n- `WEBSHIELD` - **Web Shield Merchant Monitoring**\n\n- `WELLSACH` - **Wells Fargo Merchant Services ACH Processor.**\n\n- `WELLSFARGO` - **Wells Fargo Merchant Services Payment Processor**\n\n- `WFSINGLE` - **Wells Fargo Single Payment Processors**\n\n</details>"
        }
      ]
    },
    "type": {
      "allOf": [
        {
          "$ref": "#/$defs/credentialType"
        },
        {
          "description": "The type of Transaction.\n\n<details>\n<summary>Valid Values</summary>\n\n- `1` - **Credit Card Only:** Sale Transaction. Processes a sale and charges the customer.\n- `2` - **Credit Card Only:** Auth Transaction. Authorizes and holds the requested total on the credit card.\n- `3` - **Credit Card Only:** Capture Transaction. Finalizes a prior Auth Transaction and charges the customer.\n- `4` - **Credit Card Only:** Reverse Authorization. Reverses a prior Auth or Sale Transaction and releases the credit hold.\n- `5` - **Credit Card Only:** Refund Transaction. Refunds a prior Capture or Sale Transaction (total may be specified for a partial refund).\n- `7` - **Echeck Only:** Echeck Sale Transaction. Sale Transaction for ECheck payment.\n- `8` - **ECheck Only:** ECheck Refund Transaction. Refund Transaction for prior ECheck Sale Transaction.\n- `11` - **Echeck Only:** Echeck Redeposit Transaction. Attempt to redeposit a prior failed eCheck Sale Transaction.\n- `12` - **Echeck Only:** Echeck Account Verification Transaction. Attempt to verify eCheck payment details.\n\n</details>"
        }
      ]
    },
    "secret": {
      "type": "string",
      "description": "The secret resource identifier to use when connecting using this Credential. \nThis field is only necessary when a private key is required by the integration."
    },
    "inactive": {
      "allOf": [
        {
          "$ref": "#/$defs/inactive"
        },
        {
          "description": "Whether this resource is marked as inactive.\n\n<details>\n<summary>Valid Values</summary>\n\n- `0` - **Active**\n- `1` - **Inactive**\n\n</details>"
        }
      ]
    },
    "frozen": {
      "allOf": [
        {
          "$ref": "#/$defs/frozen"
        },
        {
          "description": "Whether this resource is marked as frozen.\n\n<details>\n<summary>Valid Values</summary>\n\n- `0` - **Not Frozen**\n- `1` - **Frozen**\n\n</details>"
        }
      ]
    }
  },
  "$defs": {
    "credentialIntegration": {
      "title": "credentialIntegration",
      "enum": [
        "APPLE",
        "ELAVON",
        "FEDACH",
        "FIRSTDATA",
        "NEUTRINO",
        "OFAC",
        "PAYRIX",
        "PLAID",
        "SIFT",
        "SOCURE",
        "SOUNDPAYMENTS",
        "TDBANK",
        "VANTIV",
        "VCORE",
        "WEBSHIELD",
        "WELLSACH",
        "WELLSFARGO",
        "WFSINGLE"
      ],
      "type": "string"
    },
    "credentialType": {
      "title": "credentialType",
      "enum": [
        "transaction",
        "batch",
        "boarding",
        "paymentUpdates",
        "payout",
        "payoutCredit",
        "payoutDebit",
        "chargeback",
        "txnReport",
        "account",
        "entityDecision",
        "txnCheck",
        "payoutReport",
        "feeReport",
        "chargebackReport",
        "binReport",
        "watchlist",
        "encryption",
        "changeRequest"
      ],
      "type": "string"
    },
    "frozen": {
      "title": "frozen",
      "enum": [
        0,
        1
      ],
      "type": "integer"
    },
    "inactive": {
      "title": "inactive",
      "enum": [
        0,
        1
      ],
      "type": "integer"
    }
  }
}