---
title: "Create processing code"
method: POST
path: "/orgs-operation/v1/processing-codes"
tags: ["Processing codes"]
---

# Create processing code

`POST /orgs-operation/v1/processing-codes`

## Request

- Base URL: `https://sandbox.pismolabs.io`
- URL: `https://sandbox.pismolabs.io/orgs-operation/v1/processing-codes`
- Auth: HTTP bearer

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>.

## Request body

- ProcessingCodeCreateRequest
  - `processing_code` string, required: Processing code ID The following applies to this field: * It must have between 3 and 6 characters. * Only letters and numbers are allowed. * Must be unique and not already exist in the org's database * Cannot start with the prefix “PSM”, this is reserved for Pismo platform processing codes.
  - `balance_impact` 1 | 0 | -1, required: Balance impact associated with processing code: * `1` - Credit * `0` - No impact. Zero balance operations have no impact. Zero balance customers are responsible for settling accounts and generating transactions. * `-1` - Debit
  - `description` string, required: Processing code description
  - `reversal_processing_code` string, required: Reversal processing code. Processing code for cancellation. Used in transactions and accounting flow to post the correct entries related to cancellation. Every `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`. The 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`. For more information, refer to [default reversal processing codes](doc:processing-codes-and-transaction-types#default-reversal-processing-codes).
  - `reversal_description` string: Reversal description. If not passed, it is automatically set to "REV " plus the `description` field. If `description` is between 47–50 characters, `reversal_description` is truncated from the end to fit 50 characters. For example, if `description` is "Purchase", `reversal_description` is set to "REV Purchase".
  - `partial_reversal_processing_code` string: 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. Every `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`. For more information, refer to [default reversal processing codes](doc:processing-codes-and-transaction-types#default-reversal-processing-codes).
  - `partial_reversal_description` string: Partial reversal description. **REQUIRED** if `partial_reversal_processing_code` does not exist.
  - `tags` string[]: 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.
  - `translations` object[]
    - `language` string: Translation language. For 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.
    - `description` string: Translated description
    - `reversal_description` string: Translated reversal translated description
    - `partial_reversal_description` string: Translated partial reversal description

## Response `201`

Processing code sucessfully created

- ProcessingCodeCreateResponse
  - `processing_code` string: 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. A 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. For more information, refer to [Processing codes](doc:processing-codes-and-transaction-types)
  - `reversal_processing_code` string: Reversal processing code. Processing code for cancellation. Used in transactions and accounting flow to post the correct entries related to cancellation. Every `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`. The 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`. For more information, refer to [default reversal processing codes](doc:processing-codes-and-transaction-types#default-reversal-processing-codes).
  - `partial_reversal_processing_code` string: 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. Every `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`. For more information, refer to [default reversal processing codes](doc:processing-codes-and-transaction-types#default-reversal-processing-codes).
  - `status` 'SUCCESS' | 'PENDING': Processing code status: * `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. * `SUCCESS` - Required configurations done

## Other responses

- `400`: Bad request error.

---

[API](https://skmtc.dev/pismo/apis/platform-setup-orgs-operation.md) - [All operations](https://skmtc.dev/pismo/apis/platform-setup-orgs-operation/llms.txt) - [OpenAPI document](https://skmtc.dev/pismo/apis/platform-setup-orgs-operation/revisions/086ad02a703d?raw)
