# Release check Releases a check using the provided payload. **NOTES**: - This endpoint requires an account token - an access token encoded with an external account ID. Tokens can expire quickly, which can result in a `401 Unauthorized` message. This endpoint generates the following events: - [Platform authorization created](https://developers.pismo.io/events/docs/platform-authorization-platform-authorization-1) - [Check posting status change](https://developers.pismo.io/events/docs/cash-management-check-status-change-1) See [Data and reporting](doc:data-reporting-overview) for more information about events and setting up event notifications. # OpenAPI definition ```json { "openapi": "3.0.0", "info": { "title": "Banking - Transaction banking", "version": "0.9.0", "description": "Transaction banking API", "contact": { "name": "API Support", "url": "https://developers.pismo.io/support/" }, "license": { "name": "Copyright Pismo" } }, "servers": [ { "url": "https://sandbox.pismolabs.io", "description": "Sandbox API server for testing" } ], "security": [ { "BearerAuth": [] } ], "tags": [ { "name": "Check posting", "description": "Check posting endpoints" } ], "components": { "schemas": { "CheckReleaseRequest": { "type": "object", "required": [ "check_id" ], "properties": { "check_id": { "$ref": "#/components/schemas/CheckId" }, "tracking_id": { "$ref": "#/components/schemas/CheckReleaseTrackingId" }, "settlement_date": { "$ref": "#/components/schemas/CheckReleaseDate" } }, "description": "Request to release a check." }, "CheckReleaseResponse": { "type": "object", "required": [ "check_id" ], "properties": { "check_id": { "$ref": "#/components/schemas/CheckId" } }, "description": "Response for check release." }, "ErrorCode": { "description": "Error code\n`minLength: 1`\n`maxLength: 12`\n", "type": "string", "minLength": 1, "maxLength": 12, "example": "WPMT0017" }, "ErrorMessage": { "description": "Error message\n`minLength: 1`\n`maxLength: 1000`\n", "type": "string", "minLength": 1, "maxLength": 1000, "example": "Invalid JSON payload received: Error unmarshalling request" }, "ErrorResponse": { "type": "object", "properties": { "code": { "$ref": "#/components/schemas/ErrorCode" }, "message": { "$ref": "#/components/schemas/ErrorMessage" } } }, "CheckId": { "type": "string", "description": "Check ID.", "maxLength": 60, "minLength": 1, "pattern": "^[a-zA-Z0-9-]+$", "example": "c462b2f3-55cc-42b4-ae9a-7614df3e8e72" }, "CheckReleaseTrackingId": { "type": "string", "description": "Tracking ID associated with the check release transaction.", "maxLength": 43, "minLength": 1, "pattern": "^[a-zA-Z0-9-]+$", "example": "1624db2e-ee81-4294-bc5e-c753b2cc5eb9" }, "CheckReleaseDate": { "type": "string", "format": "date", "description": "The settlement date defined in the settlement to be released.\n\nNotes:\n- The settlement date must follow the ISO 8601 format (`yyyy-mm-dd`).\n- If you don't specify a date, the full check amount is released.\n- If provided, it must match the settlement date of one of the check's settlements.", "example": "2025-01-06" } }, "responses": { "401Unauthorized": { "description": "Access token is missing or invalid" }, "403Forbidden": { "description": "The request has been lost" }, "500InternalServer": { "description": "Internal Server Error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "Generic internal error": { "value": { "code": "ECMN9999", "message": "Internal error" } } } } } } }, "securitySchemes": { "BearerAuth": { "type": "http", "scheme": "bearer", "bearerFormat": "JWT" } } }, "paths": { "/corporate/v1/checks/release": { "post": { "summary": "Release check", "description": "Releases a check using the provided payload.\n\n**NOTES**:\n- This endpoint requires an account token - an access token encoded with an external account ID. Tokens can expire quickly, which can result in a `401 Unauthorized` message.\n\nThis endpoint generates the following events:\n - [Platform authorization created](https://developers.pismo.io/events/docs/platform-authorization-platform-authorization-1)\n - [Check posting status change](https://developers.pismo.io/events/docs/cash-management-check-status-change-1)\n\nSee [Data and reporting](https://developers.pismo.io/pismo-docs/docs/data-reporting-overview) for more information about events and setting up event notifications.", "operationId": "post-corporate-v1-checks-release", "tags": [ "Check posting" ], "requestBody": { "required": true, "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CheckReleaseRequest" }, "example": { "check_id": "c462b2f3-55cc-42b4-ae9a-7614df3e8e72", "tracking_id": "1624db2e-ee81-4294-bc5e-c753b2cc5eb9", "settlement_date": "2025-01-06" } } } }, "responses": { "202": { "description": "Check release accepted", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/CheckReleaseResponse" }, "example": { "check_id": "c462b2f3-55cc-42b4-ae9a-7614df3e8e72" } } } }, "400": { "description": "Bad Request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "invalid json": { "summary": "Invalid JSON payload", "value": { "code": "WCPT0001", "message": "Invalid JSON payload received: Error unmarshalling request" } }, "check_id required": { "summary": "check_id is a required field", "value": { "message": "check_id is a required field", "code": "WCPT0002" } }, "check_id max": { "summary": "check_id exceeds maximum length", "value": { "message": "check_id must be a maximum of 60 characters in length", "code": "WCPT0002" } }, "tracking_id required": { "summary": "tracking_id is a required field", "value": { "message": "tracking_id is a required field", "code": "WCPT0002" } }, "tracking_id max": { "summary": "tracking_id exceeds maximum length", "value": { "message": "tracking_id must be a maximum of 43 characters in length", "code": "WCPT0002" } }, "settlement_date max": { "summary": "settlement date exceeds maximum length", "value": { "message": "settlement_date must be a maximum of 10 characters in length", "code": "WCPT0002" } }, "settlement_date invalid format": { "summary": "settlement_date must be a valid date in yyyy-mm-dd format", "value": { "message": "settlement_date [settlement_date] should be formatted as yyyy-mm-dd and be a valid date", "code": "WCPT0002" } }, "settlement_date mandatory when trackingId provided": { "summary": "settlement_date is mandatory when tracking_id is provided", "value": { "code": "WCPT0002", "message": "settlement_date is mandatory when tracking_id is provided" } }, "Corporate Account Not Found": { "summary": "Corporate account not found", "value": { "code": "WCPT0004", "message": "Corporate account not found" } }, "operations blocked": { "summary": "Operations blocked", "value": { "message": "Operations blocked for account", "code": "WOBK0007" } }, "invalid check status": { "summary": "Invalid check status", "value": { "code": "WCPT0011", "message": "Check status is invalid for this operation" } }, "no releasable settlements found": { "summary": "No releasable settlements found", "value": { "message": "No releasable settlements found", "code": "WCPT0015" } } } } } }, "401": { "$ref": "#/components/responses/401Unauthorized" }, "403": { "$ref": "#/components/responses/403Forbidden" }, "404": { "description": "Not Found", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "CheckPostingNotFound": { "summary": "Check posting not found", "value": { "code": "WCPT0003", "message": "Check posting not found" } } } } } }, "409": { "description": "Conflict", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/ErrorResponse" }, "examples": { "TrackingIdExists": { "summary": "Tracking ID already exists", "value": { "code": "WCPT0013", "message": "tracking_id [...] is already in use" } } } } } }, "500": { "$ref": "#/components/responses/500InternalServer" } }, "security": [ { "BearerAuth": [] } ] } } } } ```