---
updatedAt: 2026-04-02T13:08:23.000Z
---

Fetch the complete documentation index at: https://developers.pismo.io/pismo-docs/llms.txt. Use this file to discover all available pages before exploring further.

# Get acceptance configuration by hierarchy

Get acceptance configuration for a processing code operation based on the hierarchy from the most granular to the least granular (account > program > org).

**Note:** This is a PCI endpoint, use the https://gw-pci.pismolabs.io environment.


# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Core platform - Payment configurations",
    "version": "1.0.0",
    "description": "Endpoints to allow payment configuration management.",
    "contact": {
      "name": "API Support",
      "url": "https://developers.pismolabs.io/pismo-docs/docs/support"
    },
    "license": {
      "name": "Copyright Pismo"
    }
  },
  "servers": [
    {
      "url": "https://sandbox.pismolabs.io",
      "description": "Sandbox API server for testing"
    },
    {
      "url": "https://gw-pci.pismolabs.io",
      "description": "Sandbox PCI API server for testing"
    }
  ],
  "components": {
    "securitySchemes": {
      "BearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "description": "Account access token. Tokens can expire quickly, which can result in an \"Unauthorized\" error.",
        "bearerFormat": "JWT"
      }
    },
    "responses": {
      "400BadRequest": {
        "description": "Bad request"
      },
      "401Unauthorized": {
        "description": "Access token is missing or invalid"
      },
      "403Forbidden": {
        "description": "The request has been lost"
      },
      "404NotFound": {
        "description": "The specified resource was not found"
      },
      "500InternalServer": {
        "description": "Internal server error"
      }
    },
    "schemas": {
      "AuthorizationConfig": {
        "type": "object",
        "description": "Group of configurations related to the authorization flow.",
        "properties": {
          "networks": {
            "$ref": "#/components/schemas/Networks"
          },
          "cancellation_threshold": {
            "type": "integer",
            "description": "Time in minutes after which to cancel the operation that has been approved but hasn't received a confirmation.",
            "example": 1440,
            "minimum": 30,
            "maximum": 86400,
            "default": 14400
          },
          "confirmation_verification_endpoint": {
            "type": "string",
            "description": "External endpoint to call to verify whether an authorization is confirmed. If this endpoint is not configured, there is no external verification and the payment method endpoint performs a direct confirmation call.",
            "example": "https://yourverificationendpoint.com"
          },
          "confirmation_verification_mtls": {
            "type": "boolean",
            "description": "Should the confirmation verification endpoint be called using Mutual Transport Layer Security (mTLS)? This can only be `true` if `confirmation_verification_endpoint` and `confirmation_verification_mtls_prefix` are passed. Default is `false`.",
            "example": true,
            "default": false
          },
          "confirmation_verification_mtls_prefix": {
            "type": "string",
            "description": "Prefix to be used when the verification endpoint is called using mTLS. This prefix is appended to the host configured in the confirmation verification endpoint when using mTLS. The prefix can be set and is **REQUIRED**  only if `confirmation_verification_mtls` is `true` and the `confirmation_verification_endpoint` is configured.",
            "example": "url-prefix"
          },
          "confirmation_verification_rate": {
            "type": "integer",
            "description": "Time in minutes for the platform to call the external endpoint to verify whether the authorization is confirmed. This verification takes place until either the authorization is confirmed or until the number of minutes specified in this field is reached. \nIf this field is present, the `confirmation_verification_endpoint` is required.\n",
            "example": 30,
            "minimum": 5,
            "maximum": 1440,
            "default": 60
          },
          "allow_authorization_by_document_number": {
            "type": "boolean",
            "description": "Is org/program/account allowed to be authorized using document number as the account holder verification method? Default is `false`.",
            "example": true,
            "default": false
          },
          "require_external_authentication": {
            "type": "boolean",
            "description": "Does this org/program/account require a call to an external authentication entity? Default is `false`.",
            "example": true,
            "default": false
          },
          "update_balance_after_discharge": {
            "type": "boolean",
            "description": "If set to `true`, the platform updates account balances only after the discharge process is completed. By default, this value is `false`, and the platform updates account balances during the authorization process. This field applies to credit authorizations only.",
            "example": true,
            "default": false
          },
          "rules": {
            "$ref": "#/components/schemas/Rules"
          }
        }
      },
      "DenialReasons": {
        "type": "object",
        "description": "Denial reasons linked to a rule.",
        "additionalProperties": {
          "$ref": "#/components/schemas/ReasonConfig"
        }
      },
      "Networks": {
        "type": "array",
        "description": "List of configurations related to a network that is processed by the Payment methods API.",
        "items": {
          "type": "object",
          "description": "Configurations related to a network.",
          "properties": {
            "identifier": {
              "type": "string",
              "description": "Network identifier. This field is used to find the configuration based on the network name received in the payment methods authorization call. This field is not case-sensitive.",
              "example": "Mastercard"
            },
            "hsm_keys_id": {
              "type": "string",
              "description": "HSM keys ID. This field is used to find the HSM keys for performing PIN validation. This value should be provided by the Pismo representative during HSM keys creation.",
              "example": "123456"
            }
          }
        }
      },
      "Rules": {
        "type": "object",
        "description": "Validation rules performed in the payment methods flow.",
        "additionalProperties": {
          "$ref": "#/components/schemas/RuleConfig"
        }
      },
      "RuleConfig": {
        "type": "object",
        "description": "Configurations related to a rule.",
        "properties": {
          "denial_reasons": {
            "$ref": "#/components/schemas/DenialReasons"
          },
          "disable": {
            "type": "boolean",
            "description": "Should this rule be disabled throughout the payment methods validation flow? Default is `false`.",
            "default": false
          },
          "force": {
            "type": "boolean",
            "description": "Should this rule be forced throughout the payment methods validation flow? Default is `false`.",
            "default": false
          }
        }
      },
      "ReasonConfig": {
        "type": "object",
        "properties": {
          "denial_code": {
            "type": "string",
            "description": "Denial code to use when this denial reason is the one that caused the request to be denied.",
            "example": "DAL"
          },
          "response_code": {
            "type": "string",
            "description": "Response code to use when this denial reason is the one that caused the request to be denied.",
            "example": "57"
          },
          "custom_message": {
            "type": "string",
            "description": "Custom message to use when this denial reason is the one that caused the request to be denied."
          }
        }
      },
      "UpdateBalanceAfterDischarge": {
        "type": "boolean",
        "description": "If set to `true`, the platform will update the account balances only after the discharge process is completed. By default, this value is `false`, and the platform updates the account balances during the authorization process. This field applies to credit authorizations only.",
        "example": true,
        "default": false
      },
      "RequireExternalAuthentication": {
        "type": "boolean",
        "description": "Does this org/program/account require a call to an external authentication entity? Default is `false`.",
        "example": true,
        "default": false
      },
      "CancellationThreshold": {
        "type": "integer",
        "description": "Time in minutes this operation should be canceled after being approved and not receiving any confirmation.",
        "example": 1440,
        "minimum": 30,
        "maximum": 86400,
        "default": 14400
      },
      "ConfirmationVerificationEndpoint": {
        "type": "string",
        "description": "Endpoint that is called to verify whether an authorization was confirmed or not. If this endpoint is not configured, no external verification is made and a direct confirmation call should be performed on the payment methods endpoint.",
        "example": "https://yourverificationendpoint.com"
      },
      "ConfirmationVerificationMTLS": {
        "type": "boolean",
        "description": "Should the confirmation verification endpoint be called using mTLS? This can only be `true` if `confirmation_verification_endpoint` and `confirmation_verification_mtls_prefix` are passed. Default is `false`.",
        "example": true,
        "default": false
      },
      "ConfirmationVerificationMTLSPrefix": {
        "type": "string",
        "description": "Prefix to be used when the verification endpoint is called using mTLS. This prefix is appended to the host configured in the confirmation verification endpoint when using mTLS. The prefix can be set and is **REQUIRED**  only if `confirmation_verification_mtls` is `true` and the `confirmation_verification_endpoint` is configured."
      },
      "ConfirmationVerificationRate": {
        "type": "integer",
        "description": "Time in minutes the platform should call external endpoint to verify whether the authorization was captured and confirmed or not. \nIf this field is present, the verification endpoint is required to be configured.\nThis verification happens until either the authorization is confirmed or the cancel after N minutes threshold is reached.\n",
        "example": 30,
        "minimum": 5,
        "maximum": 1440,
        "default": 60
      },
      "AuthorizationAcceptanceConfig": {
        "type": "object",
        "description": "Group of acceptances related to the authorization flow.",
        "properties": {
          "external_calculation_endpoint": {
            "type": "string",
            "description": "Endpoint that is called when there is an external integration to simulate and calculate purchases.",
            "example": "https://yourendpoint.com"
          },
          "cancellation_threshold": {
            "$ref": "#/components/schemas/CancellationThreshold"
          },
          "confirmation_verification_endpoint": {
            "$ref": "#/components/schemas/ConfirmationVerificationEndpoint"
          },
          "confirmation_verification_mtls": {
            "$ref": "#/components/schemas/ConfirmationVerificationMTLS"
          },
          "confirmation_verification_mtls_prefix": {
            "$ref": "#/components/schemas/ConfirmationVerificationMTLSPrefix"
          },
          "confirmation_verification_rate": {
            "$ref": "#/components/schemas/ConfirmationVerificationRate"
          },
          "require_external_authentication": {
            "$ref": "#/components/schemas/RequireExternalAuthentication"
          },
          "update_balance_after_discharge": {
            "$ref": "#/components/schemas/UpdateBalanceAfterDischarge"
          },
          "rules": {
            "$ref": "#/components/schemas/Rules"
          }
        }
      },
      "GetAcceptancePriorityResponse": {
        "type": "object",
        "description": "Get acceptance configuration record response",
        "properties": {
          "processing_code": {
            "type": "string",
            "description": "Processing code that defines the operation related to this acceptance configuration."
          },
          "authorization": {
            "$ref": "#/components/schemas/AuthorizationAcceptanceConfig"
          },
          "config": {
            "type": "object",
            "description": "Get Authorization configuration record response",
            "properties": {
              "authorization": {
                "$ref": "#/components/schemas/AuthorizationConfig"
              }
            }
          }
        }
      }
    }
  },
  "security": [
    {
      "BearerAuth": []
    }
  ],
  "tags": [
    {
      "name": "Payment method acceptances",
      "description": "Payment methods acceptances endpoints."
    }
  ],
  "paths": {
    "/payment-methods-configs/v1/acceptances/processing-codes/{processing_code}/priority-configs": {
      "get": {
        "summary": "Get acceptance configuration by hierarchy",
        "description": "Get acceptance configuration for a processing code operation based on the hierarchy from the most granular to the least granular (account > program > org).\n\n**Note:** This is a PCI endpoint, use the https://gw-pci.pismolabs.io environment.\n",
        "operationId": "get-acceptance-by-priority",
        "tags": [
          "Payment method acceptances"
        ],
        "parameters": [
          {
            "name": "processing_code",
            "schema": {
              "type": "string"
            },
            "in": "path",
            "required": true,
            "description": "Processing code that defines the operation related to the acceptance configuration that is being retrieved."
          },
          {
            "name": "program_id",
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "required": true,
            "description": "ID of program that the retrived configuration is applied to. You may skip this parameter if the account id parameter is present in the query."
          },
          {
            "name": "account_id",
            "schema": {
              "type": "integer"
            },
            "in": "query",
            "required": true,
            "description": "ID of account that the retrieved configuration is applied to. You may skip this parameter if the program id parameter is present in the query."
          },
          {
            "name": "fetch_config",
            "schema": {
              "type": "boolean"
            },
            "in": "query",
            "required": false,
            "description": "Should authorization configurations be retrieved along with the acceptances? Default is `false`."
          }
        ],
        "responses": {
          "200": {
            "description": "Retrieved Successfully",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetAcceptancePriorityResponse"
                }
              }
            }
          },
          "400": {
            "$ref": "#/components/responses/400BadRequest"
          },
          "401": {
            "$ref": "#/components/responses/401Unauthorized"
          },
          "403": {
            "$ref": "#/components/responses/403Forbidden"
          },
          "404": {
            "$ref": "#/components/responses/404NotFound"
          },
          "500": {
            "$ref": "#/components/responses/500InternalServer"
          }
        }
      }
    }
  }
}
```