get_instance_contract_m Sample Call and Response
This example retrieves the details of a multi-plan instance contract associated with an account, including the contract billing progress for each plan instance covered by the contract, based on the plsql_m_r73.yml definition file for Aria release 73.
This example includes every required field and a representative set of commonly used optional fields, not every field the method accepts. The sample response shows a contract that covers two plan instances and that is set to automatically renew, and does not include the optional custom-rate rollover details that a contract can carry.
Sample call
{
"rest_call": "get_instance_contract_m",
"output_format": "json",
"client_no": 100234,
"auth_key": "8f3d9c2e1b7a4f6d9e0c1a2b3d4e5f60",
"acct_no": 300118842,
"contract_no": 44210,
"plan_instance_no": 771034,
"include_contract_billing_installment": 1
}
The rest_call and output_format fields are envelope fields added by the REST layer; they are not part of the method's own documented arguments. For the account identifier, this example uses acct_no rather than its alternative, client_acct_id. For the contract identifier, this example uses contract_no rather than its alternative, client_contract_id. The optional plan_instance_no field narrows the request to contract information relevant to one plan instance; its alternative, client_plan_instance_id, is not used here. Setting include_contract_billing_installment to 1 requests that the response include the contract billing progress fields, such as invoiced_contract_period and remaining_billing_cycle, on each plan instance in the contract; if this client parameter is disabled at the account level, or this argument is set to 0, those fields are not returned. The locale_no and locale_name fields, which control the language of the returned text, are left out of this example.
Sample response
{
"error_code": 0,
"error_msg": "OK",
"create_comments": "Initial 12-month contract created at sign-up.",
"update_comments": "Extended by six months per customer retention offer.",
"create_date": "2025-06-01",
"update_date": "2026-01-15",
"start_date": "2025-06-01",
"end_date": "2026-11-30",
"contract_plan_instance_details": [
{
"plan_instance_no": 771034,
"plan_name": "Business Voice Unlimited",
"client_plan_instance_id": "PI-ACME-VOICE-01",
"plan_instance_status_cd": 1,
"plan_instance_status_label": "Active",
"invoiced_contract_period": 8,
"invoiced_billing_cycle": 8,
"remaining_contract_period": 10,
"remaining_billing_cycle": 10,
"rollover_plan_no": 5521,
"rollover_client_plan_id": "PLAN-VOICE-STD",
"rollover_rate_sched_no": 9001,
"rollover_client_rate_sched_id": "RS-VOICE-STD-01"
},
{
"plan_instance_no": 771035,
"plan_name": "Business Data 500GB",
"client_plan_instance_id": "PI-ACME-DATA-01",
"plan_instance_status_cd": 1,
"plan_instance_status_label": "Active",
"invoiced_contract_period": 8,
"invoiced_billing_cycle": 8,
"remaining_contract_period": 10,
"remaining_billing_cycle": 10,
"rollover_plan_no": 5533,
"rollover_client_plan_id": "PLAN-DATA-STD",
"rollover_rate_sched_no": 9012,
"rollover_client_rate_sched_id": "RS-DATA-STD-01"
}
],
"acct_locale_name": "English (United States)",
"type_no_2": 3,
"status_code_2": 1,
"duration_type": 3,
"duration_length": 18,
"renewal_duration_type": 3,
"renewal_duration_length": 12,
"renewal_end_date": "2027-11-30"
}
An error_code value of 0 and an error_msg value of “OK” indicate the call succeeded. The status_code_2 value of 1 indicates the contract is currently in effect; other allowable values indicate cancellation, termination, completion with or without renewal, or that the contract is no longer in scope due to a mid-contract plan change. The type_no_2 value of 3 indicates the contract will renew automatically at the end of its term; other allowable values continue service without a contract, terminate service and billing, or roll the account over to a different plan, rate, or custom rates. The duration_type and renewal_duration_type values of 3 indicate the contract's initial duration and its renewal duration are both expressed in months, rather than weeks or days. The contract_plan_instance_details array would contain one entry for every plan instance covered by the contract; this example shows two entries. This example uses the non-deprecated type_no_2 and status_code_2 fields instead of their deprecated counterparts, type_no and status_code, and leaves out the deprecated length_months and length_months_2 fields as well as the nested contract_rollover_custom_rate_info array, which only applies when a contract rolls over into custom rates rather than a predefined rate schedule. The nonpublic error_details field is also left out.