---
title: "Create new prompt job"
method: POST
path: "/prompt_jobs"
tags: ["Prompt Job"]
---

# Create new prompt job

`POST /prompt_jobs`

## Request

- Base URL: `https://tb.paymentfusion.com`
- URL: `https://tb.paymentfusion.com/prompt_jobs`
- Auth: none declared. Required headers: `Authorization`, `Accept`, `Content-Type`

Called by the Independent Software Vendor. Creates a new prompt job.

## Headers

- `Authorization` string, api_id:api_token, required
- `Accept` string, required
- `Content-Type` string, required

## Request body `application/x-www-form-urlencoded`

- union
  - union
    - object
      - `serial_number` string: The serial number of the terminal.
      - `terminal_text` string: The text that should be displayed on the terminal.
      - `type` 'signature', required: The type of the prompt job.
      - `message` string: The message that needs to be displayed on the terminal.
      - `remote_id` string: Used for keeping track of a 3rd party identifier alongside the prompt job object. Size range - `0..100`
      - `callback_url_1` string: One of the three URLs where Transaction Broker will POST to when a prompt job is finalized by the terminal. This eliminates the need for polling for the job's status. Only HTTPS URLs are allowed. The callback will the callback will retry if the host is unresponsive. The response received from the callback url must have the response code 2xx. Basic auth credentials may be added in to url ie. 'https://username:password@address.com' or as an url param 'https://address.com?token=secret'. Size range - `0..2000`.
      - `callback_url_2` string: One of the three URLs where Transaction Broker will POST to when a prompt job is finalized by the terminal. This eliminates the need for polling for the job's status. Only HTTPS URLs are allowed. The callback will the callback will retry if the host is unresponsive. The response received from the callback url must have the response code 2xx. Basic auth credentials may be added in to url ie. 'https://username:password@address.com' or as an url param 'https://address.com?token=secret'. Size range - `0..2000`.
      - `callback_url_3` string: One of the three URLs where Transaction Broker will POST to when a prompt job is finalized by the terminal. This eliminates the need for polling for the job's status. Only HTTPS URLs are allowed. The callback will the callback will retry if the host is unresponsive. The response received from the callback url must have the response code 2xx. Basic auth credentials may be added in to url ie. 'https://username:password@address.com' or as an url param 'https://address.com?token=secret'. Size range - `0..2000`.
      - `message_markdown` string: The markdown message that will be shown to the user. The terminal will make all the required processing for this.
      - `suppress_negative_option` boolean: This will reflect the ability of an ISV to disable a negative input of the user on the terminal (e.g. the user can only agree with the prompt presented on the terminal, he can't press no/cancel if this is set to true)
      - `display_in_progress` boolean: The terminal will use this flag to determine if more jobs need to be received from the ISV, after the current one is finalized. If the flag is set to true, after the job is finished, the terminal will stay in a processing screen waiting for the next job.
      - `show_terminal_details` true | false: Set show_terminal_details to true only if displaying extra details about the terminal state is needed.
    - object
      - `serial_number` string: The serial number of the terminal.
      - `terminal_text` string: The text that should be displayed on the terminal.
      - `type` 'yes/no', required: The type of the prompt job.
      - `message` string, required: The message that needs to be displayed on the terminal.
      - `remote_id` string: Used for keeping track of a 3rd party identifier alongside the prompt job object. Size range - `0..100`
      - `callback_url_1` string: One of the three URLs where Transaction Broker will POST to when a prompt job is finalized by the terminal. This eliminates the need for polling for the job's status. Only HTTPS URLs are allowed. The callback will the callback will retry if the host is unresponsive. The response received from the callback url must have the response code 2xx. Basic auth credentials may be added in to url ie. 'https://username:password@address.com' or as an url param 'https://address.com?token=secret'. Size range - `0..2000`.
      - `callback_url_2` string: One of the three URLs where Transaction Broker will POST to when a prompt job is finalized by the terminal. This eliminates the need for polling for the job's status. Only HTTPS URLs are allowed. The callback will the callback will retry if the host is unresponsive. The response received from the callback url must have the response code 2xx. Basic auth credentials may be added in to url ie. 'https://username:password@address.com' or as an url param 'https://address.com?token=secret'. Size range - `0..2000`.
      - `callback_url_3` string: One of the three URLs where Transaction Broker will POST to when a prompt job is finalized by the terminal. This eliminates the need for polling for the job's status. Only HTTPS URLs are allowed. The callback will the callback will retry if the host is unresponsive. The response received from the callback url must have the response code 2xx. Basic auth credentials may be added in to url ie. 'https://username:password@address.com' or as an url param 'https://address.com?token=secret'. Size range - `0..2000`.
      - `message_markdown` string: The markdown message that will be shown to the user. The terminal will make all the required processing for this.
      - `suppress_negative_option` boolean: This will reflect the ability of an ISV to disable a negative input of the user on the terminal (e.g. the user can only agree with the prompt presented on the terminal, he can't press no/cancel if this is set to true)
      - `display_in_progress` boolean: The terminal will use this flag to determine if more jobs need to be received from the ISV, after the current one is finalized. If the flag is set to true, after the job is finished, the terminal will stay in a processing screen waiting for the next job.
      - `show_terminal_details` true | false: Set show_terminal_details to true only if displaying extra details about the terminal state is needed.
    - object
      - `serial_number` string: The serial number of the terminal.
      - `terminal_text` string: The text that should be displayed on the terminal.
      - `type` 'ok/cancel', required: The type of the prompt job.
      - `message` string, required: The message that needs to be displayed on the terminal.
      - `remote_id` string: Used for keeping track of a 3rd party identifier alongside the prompt job object. Size range - `0..100`
      - `callback_url_1` string: One of the three URLs where Transaction Broker will POST to when a prompt job is finalized by the terminal. This eliminates the need for polling for the job's status. Only HTTPS URLs are allowed. The callback will the callback will retry if the host is unresponsive. The response received from the callback url must have the response code 2xx. Basic auth credentials may be added in to url ie. 'https://username:password@address.com' or as an url param 'https://address.com?token=secret'. Size range - `0..2000`.
      - `callback_url_2` string: One of the three URLs where Transaction Broker will POST to when a prompt job is finalized by the terminal. This eliminates the need for polling for the job's status. Only HTTPS URLs are allowed. The callback will the callback will retry if the host is unresponsive. The response received from the callback url must have the response code 2xx. Basic auth credentials may be added in to url ie. 'https://username:password@address.com' or as an url param 'https://address.com?token=secret'. Size range - `0..2000`.
      - `callback_url_3` string: One of the three URLs where Transaction Broker will POST to when a prompt job is finalized by the terminal. This eliminates the need for polling for the job's status. Only HTTPS URLs are allowed. The callback will the callback will retry if the host is unresponsive. The response received from the callback url must have the response code 2xx. Basic auth credentials may be added in to url ie. 'https://username:password@address.com' or as an url param 'https://address.com?token=secret'. Size range - `0..2000`.
      - `message_markdown` string: The markdown message that will be shown to the user. The terminal will make all the required processing for this.
      - `suppress_negative_option` boolean: This will reflect the ability of an ISV to disable a negative input of the user on the terminal (e.g. the user can only agree with the prompt presented on the terminal, he can't press no/cancel if this is set to true)
      - `display_in_progress` boolean: The terminal will use this flag to determine if more jobs need to be received from the ISV, after the current one is finalized. If the flag is set to true, after the job is finished, the terminal will stay in a processing screen waiting for the next job.
      - `show_terminal_details` true | false: Set show_terminal_details to true only if displaying extra details about the terminal state is needed.
  - PromptJobWithClientId
    - `client_id` string, required: The client identifier of the terminal

## Response `201`

Success

- object
  - `id` integer: The identifier of the job.
  - `v` string: The API version that was used to handle the request.

## Other responses

- `4XX`: Possible errors - 1, 3, 4, 31, 32, 33, 54, 68, 85, 103, 106, 107, 112, 164, 166, 167, 168, 189, 196, 234, 235, 241, 246, 257, 273, 274, 279, 280

---

[API](https://skmtc.dev/bankofamerica/apis/transaction-broker-api.md) - [All operations](https://skmtc.dev/bankofamerica/apis/transaction-broker-api/llms.txt) - [OpenAPI document](https://skmtc.dev/bankofamerica/apis/transaction-broker-api/revisions/6097bc689e41?raw)
