modifyStatus()
Modifies the status of an account, card, or both.
Parameters
Parameter Required Data type Pattern Notes
transactionId Yes String

60 characters or less

9845dk-39fdk3fj3-4483483478

A unique system generated ID number that identifies the API transaction with Galileo Processing systems. A UUID is preferred. This must be different for each transaction.
accountNo Yes String

PAN or PRN

074103447228

Can be either a PAN (the 16 digit card number) or PRN (a unique product Identifier used for internal Galileo processing and added security) or card_id (integer identifier of the card as found in RDF, getAccountCards(), and getCard()).
type Yes Integer

Predefined integer value range

2

Reflects the account and card's current status before modification. See the Account and card status table below.
savingsprodId Conditional N-A

N-A

N-A

Calls of type 1 Activate account, and type 11 Update account status to active, can send savingsProdId. savingsProdId defines what the savings account prodID will be. (If not passed, prodID will be the value set in the SAVPI product parameter).
Account and Card Status Table
Type Description Changed (account or card) Card status Account status
1 Activate account Account -- N
2 Deactivate account Account -- C
3 Initiate card lost process. Card L --
4 Initiate card stolen process. Card S --
5 Update card status to Cancelled. Card C --
6 Initiate card activated process. Account & Card N N
7 Update card status to Active. Card N --
8 Update card status to Lost. Card L --
9 Update card status to Stolen. Card S --
10 Account disabled through IVR. Account -- D
11 Update account status to Active. Account -- N
12 Reissue card. N/A -- --
13 Deactivate account and cancel card(s). Account & Card C C
14 Freeze overdraft account. N/A -- --
15 Overdraft Unfreeze. N/A -- --
16 Account deactivated and card(s) cancelled through the Galileo API. Account & Card Z Z
17 Freeze card. Card -- --
18 Unfreeze card. Card -- --
19 Reissue with new PAN. Card -- --
20 Cancel without refund (status 'Z') all accounts and cards for a customer and all related accounts and cards. Account & Card Z Z
21 Update card status to waiting for payment. Card -- W
Status Codes
Status Code description
0 Success
2 Invalid parameter(s)
12 Invalid customer account
413-01 PAN is required as accountNo no in multi-card/account situations.
413-02 Invalid account -- account is in charged off status and cannot be modified.
413-03 Invalid account -- account is in fraud status and cannot be modified.
413-04 Unknown status type.
413-05 Card cannot be activated.
413-06 Card cannot be activated.
413-07 Reissue already found for this card.
413-08 Reissue restricted for this card.
413-09 Stock is the same or product cannot be reissued.
413-10 Account/Card already in requested status or cannot be changed to requested status.
413-11 Overdraft account unavailable or not in participating status.
-1 Indicates that the application record failed to update or return.
Response
<?xml version="1.0" encoding="UTF-8"?>
<response>
   <status_code>0</status_code>
   <status>Success</status>
   <system_timestamp>2011-02-07 12:00:10</system_timestamp>
   <response_data>
     <pmt_ref_no>074117133905</pmt_ref_no>
     <account_status>N</account_status>
   </response_data>
   <processing_time>0.454</processing_time>
   <echo>
     <transaction_id>12345a</transaction_id>
     <provider_transaction_id>77bb</provider_transaction_id>
     <provider_timestamp>2013-02-06 10:10:10</provider_timestamp>
   </echo>
</response>
Response Description Example value
status The condition of a process or response (such as embossed card, account, freeze, and so on). Success
status_code The status of the response. 0
system_timestamp A system generated timestamp. 2011-02-02 11:11:12
response_data A structure for the response data. It can be empty but usually will contain information. <response_data>
   <new_account>   </new_account>
</response_data>
pmt_ref_No A Galileo generated account number. 008103023340
account_status The condition of the account after a modification. Refer to 'Account Statuses' in the Enumerations section of this documentation for definitions of values. Z
processing_time The time elapsed in processing the transaction. 1.723
echo A structure that displays transaction ID information. <echo>
  <transaction_id>...</transaction_id>
  <provider_transaction_id>...</provider_transaction_id>
  <provider_timestamp>...</provider_timestamp>
</echo>
transaction_id A number that represents a transaction. 12345a
provider_transaction_id Secondary transaction identifier (generated by a provider). 77bb
provider_timestamp Store a related timestamp for reporting and troubleshooting purposes. 2013-02-06 10:10:10
Code Snippet

                    # The following shell script will use cURL to call modifyStatus
# and return the json response.

curl -d '{"transactionId":"45k-dk3fj3-44478", "accountNo":"074103447228", "type":"2"}' \ 
-H "response-content-type: json" \ 
-H "Authorization: Bearer **your-access-token**" \ 
-X POST https://sandbox.galileo-ft.com/intserv/4.0/modifyStatus
                
                    // The following Java code will make a modifyStatus call
// and print the json response.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Reader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;
import java.net.URLEncoder;
import java.util. *;

class GalileoAPICall
{
    public static void main(String[] args) {
        try {
            Map<String,Object> params = new LinkedHashMap<>();
           params.put("transactionId", "45k-dk3fj3-44478");
           params.put("accountNo", "074103447228");
           params.put("type", "2");
            StringBuilder postData = new StringBuilder();
            for (Map.Entry<String,Object> param : params.entrySet()) {
                if (postData.length() != 0) postData.append('&');
                postData.append(URLEncoder.encode(param.getKey(), "UTF-8"));
                postData.append('=');
                postData.append(URLEncoder.encode(String.valueOf(param.getValue()), "UTF-8"));
            }
            byte[] postDataBytes = postData.toString().getBytes("UTF-8");

            URL url = new URL("https://sandbox.galileo-ft.com/intserv/4.0/modifyStatus");

            HttpURLConnection conn = (HttpURLConnection) url.openConnection();
            conn.setRequestMethod("POST");
            conn.setRequestProperty("response-content-type", "json");
            conn.setRequestProperty("Authorization", "Bearer **your-access-token");
            conn.setRequestProperty("Content-Length", String.valueOf(postDataBytes.length));
            conn.setDoOutput(true);
            conn.getOutputStream().write(postDataBytes);

            String xmlOutput;

            Reader in = new BufferedReader(new InputStreamReader(conn.getInputStream(), "UTF-8"));
            for (int c; (c = in.read()) >= 0;) {
                System.out.print((char)c);
            }
        } catch (MalformedURLException e) {
            e.printStackTrace();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
                
                    # The following Python code will call modifyStatus
# and print the json response.

import requests
headers = {'response-content-type': 'json', 'Authorization': 'Bearer {}'.format(**your-access-token**)}
payload = {'transactionId': '45k-dk3fj3-44478', 'accountNo': '074103447228', 'type': '2'}
r = requests.post(url='https://sandbox.galileo-ft.com/intserv/4.0/modifyStatus', data=payload, headers=headers)
try:
    print(r.json())
except:
    print(r.status_code)
                
                    // The following PHP code will make a modifyStatus call
// and prints the json response.

$endpoint = 'https://sandbox.galileo-ft.com/intserv/4.0/modifyStatus';
$params = array('transactionId'=>'45k-dk3fj3-44478', 'accountNo'=>'074103447228', 'type'=>'2');

$curl = curl_init();
curl_setopt($curl, CURLOPT_POST, 1);
curl_setopt($curl, CURLOPT_POSTFIELDS, $params);
curl_setopt($curl, CURLOPT_URL, $endpoint);
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'response-content-type: json',
    'Authorization: Bearer **your-access-token**'
));
curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);

$result = curl_exec($curl);
curl_close($curl);
$json = new json_decode($result, true);
print_r($json);

                
                    // The following C# code will make a modifyStatus call
// and print the json response.

using System;using System.IO;
using System.Net;
using System.Text;

byte[] data = Encoding.ASCII.GetBytes(
    "transactionId=45k-dk3fj3-44478&accountNo=074103447228&type=2");
WebRequest request = WebRequest.Create("https://sandbox.galileo-ft.com/intserv/4.0/modifyStatus");
request.Method = "POST"\;
request.ContentLength = data.Length;
request.Headers.Add("response-content-type", "json");
request.Headers.Add("Authorization","Bearer **your-access-token**");
using (Stream stream = request.GetRequestStream())
{
    stream.Write(data, 0, data.Length);
}
string responseContent = null;
using (WebResponse response = request.GetResponse())
{
    using (Stream stream = response.GetResponseStream())
    {
        using (StreamReader sr = new StreamReader(stream))
        {
            responseContent = sr.ReadToEnd();
        }
    }
}
Console.WriteLine(responseContent);
                
                    # The following Ruby code will make a modifyStatus call
# and print the json response.

require 'uri'
require 'net/http'

uri = URI("https://sandbox.galileo-ft.com/intserv/4.0/modifyStatus")
https = Net::HTTP.new(uri.host, uri.port)
https.use_ssl = true
request = Net::HTTP::Post.new(uri.path)
request['response-content-type'] = 'json'
request['Authorization'] = 'Bearer **your-access-token**'
request.body = {transactionId: '45k-dk3fj3-44478', accountNo: '074103447228', type: '2'}.to_json
response = https.request(request)
puts response