---
updatedAt: 2026-03-25T12:23:57.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.

# Create processing code

Create a processing code for an organization.

Processing codes identify financial operations on the Pismo platform. For example, `00` is a purchase, `01` is a withdrawal, and so on. 

Processing codes need to be mapped to [transaction types](doc:transactiontypes) to create a transaction flow.

This endpoint creates an `AUTHORIZATION` type processing code and generates a [Orgs operation created](https://developers.pismo.io/events/docs/orgs-operation-create-1) event.

**Notes:**

 * The prefix `PSM` is reserved at Pismo platform, customers are not allowed to use this prefix when creating  custom processing codes . Not all standard processing codes have the `PSM`prefix. There are codes created before this standard and are kept for backward compatibility.  New ones, however, will always have this prefix.
 * On the Pismo platform, 2-digit processing codes are reserved and used only for network processing. Because of this, customers are not allowed to  have 2-digit custom processing codes.
 * When a new standard processing code is created, it is replicated and configured to all platform organizations, no action is required on your part.
 * This endpoint generates a [Orgs operation created](https://developers.pismo.io/events/docs/orgs-operation-create-1) event.


For more information, refer to <a href="https://developers.pismo.io/pismo-docs/docs/processing-codes-and-transaction-types">Processing codes</a>.


# OpenAPI definition

```json
{
  "openapi": "3.1.0",
  "info": {
    "title": "Platform setup - Orgs operation",
    "description": "Orgs operations management endpoints.",
    "version": "v1.0",
    "contact": {
      "name": "Pismo Support",
      "url": "https://developers.pismo.io/support/"
    },
    "license": {
      "name": "Copyright Pismo."
    }
  },
  "servers": [
    {
      "url": "https://sandbox.pismolabs.io",
      "description": "Sandbox API server for testing"
    }
  ],
  "security": [
    {
      "S2SAuthentication": []
    }
  ],
  "tags": [
    {
      "name": "Processing codes",
      "description": "Manage processing codes"
    }
  ],
  "components": {
    "schemas": {
      "BalanceImpact": {
        "type": "integer",
        "description": "Balance impact associated with processing code:\n  * `1` - Credit \n  * `0` - No impact. Zero balance operations have no impact. Zero balance customers are responsible for settling accounts and generating transactions.\n  * `-1` - Debit\n",
        "enum": [
          1,
          0,
          -1
        ],
        "example": 1
      },
      "PartialReversalDescription": {
        "type": "string",
        "maxLength": 50,
        "description": "Partial reversal description. **REQUIRED** if `partial_reversal_processing_code` does not exist.\n",
        "example": "Partial reversal description"
      },
      "PartialReversalProcessingCode": {
        "type": "string",
        "description": "Partial reversal processing code. Processing code for partial reversal cancellation. Used in transactions and accounting flow to post the correct entries related to partial cancellation. \n\nEvery `AUTHORIZATION` processing code is **REQUIRED** to have a reversal and a partial reversal processing code. If a partial code isn't provided, a default one is assigned based on `balance_impact`. \n\nFor more information, refer to [default reversal processing codes](https://developers.pismo.io/pismo-docs/docs/processing-codes-and-transaction-types#default-reversal-processing-codes).\n",
        "example": "578739"
      },
      "PcDescription": {
        "type": "string",
        "maxLength": 50,
        "description": "Processing code description"
      },
      "ProcessingCode": {
        "type": "string",
        "description": "A processing code identifies a financial operation on the Pismo platform. Processing codes need to be mapped to transaction type codes to create a transaction flow. \n\nA custom processing code is created with a `PENDING` status . Initially, its use is not allowed in authorizations. Once the transaction flow for a custom processing code is completely configured, its status changes to `SUCCESS` and it is ready for use. \n\nFor more information, refer to [Processing codes](https://developers.pismo.io/pismo-docs/docs/processing-codes-and-transaction-types)\n"
      },
      "ProcessingCodeCreateRequest": {
        "type": "object",
        "required": [
          "processing_code",
          "balance_impact",
          "description",
          "reversal_processing_code"
        ],
        "properties": {
          "processing_code": {
            "type": "string",
            "minLength": 3,
            "maxLength": 6,
            "description": "Processing code ID\n\nThe following applies to this field:\n  * It must have between 3 and 6 characters.\n  * Only letters and numbers are allowed.\n  * Must be unique and not already exist in the org's database\n  * Cannot start with the prefix “PSM”, this is reserved for Pismo platform processing codes.\n",
            "example": "I87654"
          },
          "balance_impact": {
            "$ref": "#/components/schemas/BalanceImpact"
          },
          "description": {
            "$ref": "#/components/schemas/PcDescription"
          },
          "reversal_processing_code": {
            "$ref": "#/components/schemas/ReversalProcessingCode"
          },
          "reversal_description": {
            "$ref": "#/components/schemas/ReversalDescription"
          },
          "partial_reversal_processing_code": {
            "$ref": "#/components/schemas/PartialReversalProcessingCode"
          },
          "partial_reversal_description": {
            "$ref": "#/components/schemas/PartialReversalDescription"
          },
          "tags": {
            "$ref": "#/components/schemas/Tags"
          },
          "translations": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {
                "language": {
                  "$ref": "#/components/schemas/TranslatedLanguage"
                },
                "description": {
                  "type": "string",
                  "maxLength": 50,
                  "description": "Translated description"
                },
                "reversal_description": {
                  "type": "string",
                  "maxLength": 50,
                  "description": "Translated reversal translated description"
                },
                "partial_reversal_description": {
                  "type": "string",
                  "maxLength": 50,
                  "description": "Translated partial reversal description"
                }
              }
            }
          }
        }
      },
      "ProcessingCodeCreateResponse": {
        "type": "object",
        "properties": {
          "processing_code": {
            "$ref": "#/components/schemas/ProcessingCode"
          },
          "reversal_processing_code": {
            "$ref": "#/components/schemas/ReversalProcessingCode"
          },
          "partial_reversal_processing_code": {
            "$ref": "#/components/schemas/PartialReversalProcessingCode"
          },
          "status": {
            "$ref": "#/components/schemas/Status"
          }
        }
      },
      "ReversalDescription": {
        "type": "string",
        "maxLength": 50,
        "description": "Reversal description. If not passed, it is automatically set to \"REV \" plus the `description` field.  For example, if `description` is \"Purchase\", the reversal description will be \"REV Purchase\".\n",
        "example": "Reversal description"
      },
      "ReversalProcessingCode": {
        "type": "string",
        "minLength": 2,
        "maxLength": 6,
        "description": "Reversal processing code. Processing code for cancellation. Used in transactions and accounting flow to post the correct entries related to cancellation. \n\nEvery `AUTHORIZATION` processing code is **REQUIRED** to have a reversal and a partial reversal processing code. If a partial code isn't provided, a default one is assigned based on `balance_impact`. \n\nThe reversal processing code can either currently exist or not. If it exists, its `balance_impact` must be the opposite of the main processing code and its type must be `REVERSAL`.\n\nFor more information, refer to [default reversal processing codes](https://developers.pismo.io/pismo-docs/docs/processing-codes-and-transaction-types#default-reversal-processing-codes).\n",
        "example": "578739"
      },
      "Status": {
        "type": "string",
        "description": "Processing code status:\n  * `PENDING` - Missing required configurations. A custom processing code is initially created with a `PENDING` status and its use is not allowed in authorizations. Once the transaction flow for a custom processing code is completely configured, its status changes to `SUCCESS` and it is ready for use. All standard processing codes have a `SUCCESS` status.\n\n  * `SUCCESS` - Required configurations done\n",
        "enum": [
          "SUCCESS",
          "PENDING"
        ],
        "example": "SUCCESS"
      },
      "Tags": {
        "type": "array",
        "description": "Processing code tags.  These tags apply **ONLY** to `AUTHORIZATION` type processing codes. You cannot add tags to reverse processing codes as they may be associated with more than one authorization processing code.\n",
        "items": {
          "type": "string",
          "description": "Processing code tag.",
          "enum": [
            "GLOBAL",
            "BRAZIL",
            "ARGENTINA",
            "INDIA",
            "NETWORK",
            "VISA",
            "MASTERCARD",
            "ELO",
            "RUPAY",
            "TECBAN",
            "UPI",
            "PIX",
            "FPS",
            "TRANSACTION_BANKING",
            "BNPL",
            "LENDING",
            "DEPRECATED"
          ],
          "example": "INDIA"
        }
      },
      "TranslatedLanguage": {
        "type": "string",
        "description": "Translation language. \n\nFor example, the code for English (United States) is `en-US`. The prefix, `en`, is a language code following the ISO 639-1 standard. The suffix, `US`, is a country code following the ISO 3166-1 Alpha-2 standard.\n",
        "example": "en-US"
      },
      "HTTPError": {
        "type": "object",
        "description": "Code and error message.",
        "properties": {
          "code": {
            "type": "string",
            "description": "HTTP error code"
          },
          "message": {
            "type": "string",
            "description": "HTTP error message"
          }
        }
      }
    },
    "securitySchemes": {
      "S2SAuthentication": {
        "type": "http",
        "scheme": "bearer",
        "description": "All requests must be previously authenticated with an account token"
      }
    }
  },
  "paths": {
    "/orgs-operation/v1/processing-codes": {
      "post": {
        "summary": "Create processing code",
        "description": "Create a processing code for an organization.\n\nProcessing codes identify financial operations on the Pismo platform. For example, `00` is a purchase, `01` is a withdrawal, and so on. \n\nProcessing codes need to be mapped to [transaction types](https://developers.pismo.io/pismo-docs/docs/transactiontypes) to create a transaction flow.\n\nThis endpoint creates an `AUTHORIZATION` type processing code and generates a [Orgs operation created](https://developers.pismo.io/events/docs/orgs-operation-create-1) event.\n\n**Notes:**\n\n * The prefix `PSM` is reserved at Pismo platform, customers are not allowed to use this prefix when creating  custom processing codes . Not all standard processing codes have the `PSM`prefix. There are codes created before this standard and are kept for backward compatibility.  New ones, however, will always have this prefix.\n * On the Pismo platform, 2-digit processing codes are reserved and used only for network processing. Because of this, customers are not allowed to  have 2-digit custom processing codes.\n * When a new standard processing code is created, it is replicated and configured to all platform organizations, no action is required on your part.\n * This endpoint generates a [Orgs operation created](https://developers.pismo.io/events/docs/orgs-operation-create-1) event.\n\n\nFor more information, refer to <a href=\"https://developers.pismo.io/pismo-docs/docs/processing-codes-and-transaction-types\">Processing codes</a>.\n",
        "operationId": "CreateProcessingCode",
        "tags": [
          "Processing codes"
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ProcessingCodeCreateRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Processing code sucessfully created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProcessingCodeCreateResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad request error.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/HTTPError"
                }
              }
            }
          }
        }
      }
    }
  }
}
```