Following script and get all the packages related to API in Oracle applications, from which you can select APIs that pertain to AP. You can change the name like to PA or AR and can check for different modules

select substr(a.OWNER,1,20)
, substr(a.NAME,1,30)
, substr(a.TYPE,1,20)
, substr(u.status,1,10) Stat
, u.last_ddl_time
, substr(text,1,80) Description
from dba_source a, dba_objects u
WHERE 2=2
and u.object_name = a.name
and a.text like ‘%Header%’
and a.type = u.object_type
and a.name like ‘PA_%API%’
order by
a.owner, a.name;

Following APIs used to Launch Workflow

declare
cursor c1 is
select incident_no,CREATED_BY_USER_ID from org_sr_summary a
where trunc(create_dt) = trunc(sysdate) and incident_no = ‘1203950’
and not exists ( select 1 from org_incident_history b where a.incident_no = b.incident_id);

v_return_status varchar2(150);
v_msg_count number;
v_msg_data varchar2(150);
v_itemkey varchar2(150);
v_initiator_user_id number;
v_count number := 0;
v_null number:=0;

begin

For i in c1
Loop

begin
select workflow_process_id into v_null
from cs_incidents_all_b
where incident_number = TO_CHAR(i.incident_no)
and workflow_process_id is null ;
exception
when no_data_found then dbms_output.put_line(‘Exception’);
end;

if v_null is null then

CS_WORKFLOW_PUB.LAUNCH_SERVEREQ_WORKFLOW(p_api_version => 1
,p_init_msg_list => FND_API.G_FALSE
,p_commit => FND_API.G_FALSE
,p_return_status => v_return_status
,p_msg_count => v_msg_count
,p_msg_data => v_msg_data
,p_request_number => i.incident_no
,p_initiator_user_id => i.CREATED_BY_USER_ID
,p_initiator_resp_id => NULL
,p_initiator_resp_appl_id => NULL
,p_itemkey => v_itemkey
, p_nowait => FND_API.G_FALSE);

v_count := v_count + 1;
end if;

END LOOP;
dbms_output.put_line(‘total count = ‘||v_count);
commit;
end;

SELECT b.process_name, b.instance_label, a.activity_result_code,
a.activity_status, a.item_key
FROM wf_item_activity_statuses a, wf_process_activities b
WHERE a.process_activity = b.instance_id
AND a.item_type = ‘SERVEREQ’
AND a.item_key LIKE ‘1203968%’
AND a.activity_status = ‘DEFERRED’

begin
wf_engine.handleerror(itemtype => ‘SERVEREQ’,
itemkey => ‘1203968-757581’,
activity => ‘XX_WF:STANDARDWAIT-1’ ,
command => ‘RETRY’);
commit;
end;

declare
 cursor c1 is
 select incident_no,CREATED_BY_USER_ID from org_sr_summary a
 where trunc(create_dt) = trunc(sysdate) and incident_no = 1199236;
 –and not exists ( select 1 from org_incident_history b where a.incident_no = b.incident_id);
  v_return_status        varchar2(150);
  v_msg_count            number;
  v_msg_data            varchar2(150);
  v_itemkey                varchar2(150);
  v_initiator_user_id   number;
  v_count                number := 0;
  v_null                number:=0;
begin
     For i in c1
     Loop
      begin
      select workflow_process_id into v_null
      from      cs_incidents_all_b
      where  incident_number = TO_CHAR(i.incident_no)
      and  workflow_process_id is null ;
      exception
      when no_data_found then null;
      end;
      if v_null is null then
      CS_WORKFLOW_PUB.LAUNCH_SERVEREQ_WORKFLOW(p_api_version                    => 1
                                             ,p_init_msg_list                 => FND_API.G_FALSE
                                             ,p_commit                       => FND_API.G_FALSE
                                             ,p_return_status               => v_return_status
                                             ,p_msg_count                   => v_msg_count  
                                             ,p_msg_data                       => v_msg_data
                                             ,p_request_number               => i.incident_no
                                             ,p_initiator_user_id              => i.CREATED_BY_USER_ID
                                             ,p_initiator_resp_id              => NULL
                                             ,p_initiator_resp_appl_id        => NULL
                                             ,p_itemkey                       => v_itemkey
                                             , p_nowait                           => FND_API.G_FALSE);

    v_count := v_count + 1;
     IF v_msg_count > 0 THEN

        FOR I IN 1..v_msg_count LOOP

        dbms_output.put_line(‘I.’|| SUBSTR (FND_MSG_PUB.Get(p_encoded =>FND_API.G_FALSE ), 1, 255));

        END LOOP;

    END IF;
    end if;
   END LOOP;  
    dbms_output.put_line(‘total count = ‘||v_count);
    dbms_output.put_line(‘return status = ‘||v_return_status);
        dbms_output.put_line(‘ v_msg_data = ‘|| v_msg_data);
    dbms_output.put_line(‘  v_itemkey = ‘|| v_itemkey);
commit;
end;

1.EGO_ITEM_PUB.Assign_Item_To_Org

This API provide functionality to assign one/more items to an organization(s)
How to Assign Item Using Assign_item_to_org 


2. Item Creation and Updation Public API.
This API used to create items.
EGO_ITEM_PUB.Process_item(s)

 3. Category Code Creation Public API.
This API provides functionality to create a category.
INV_ITEM_CATEGORY_PUB.Create_Category

4. Item Category Assignment Public API
EGO_ITEM_PUB.Process_Item_Cat_Assignment

5. Item Catalog Descriptive Element Public API.

EGO_ITEM_PUB.Process_item_descr_elements

6. Item Revision Creation and Updation Public API.

EGO_ITEM_PUB.Process_Item_Revision
7. Implement Item Pending Changes Public API.

This API provides functionality to implement pending changes (phase and/or status) for an item/item revision.

EGO_ITEM_PUB.Implement_Item_Pending_Changes
8. Item Lifecycle Public API.

EGO_ITEM_PUB.Process_item_phase_and_status
9. Item Grant public API

EGO_ITEM_PUB.Process_item_role
10. Item User-Defined Attributes Data Public API.

EGO_ITEM_PUB.Process_User_Attrs_For_Item
11. Item Assignment to an Organization Public API.
This post will cover API ego_item_pub.assign_item_to_org used to assign item to an organization.
Step by step demonstration of code.
Please download attached file to use as sample code. This sample code assign single item at a time to single organization you can modify it for multiple items or multiple organizations at a time.
This API assigns a specific item to any inventory organization. The item to be assigned must already assigned to parent organization before running this API.

Input parameters.
P_param1                   pass inventory item id.
P_organization_id      organization id to which you want to assign item
P_organization_code organization code of specific organization


Variables need to be assign values by you.
l_user_id                     your used id
l_resp_id                     your responsibility id
l_application_id          application id

Get this information from fnd_responsibility table.

Running attached code I recommend to run it initially for some items and verify that these items are assigned to specific organizations.

Download.
BEGIN
FND_USER_RESP_GROUPS_API.LOAD_ROW
(X_USER_NAME => ‘ANATESH’,
X_RESP_KEY => ‘APPLICATION_DEVELOPER’,
X_APP_SHORT_NAME => ‘FND’,
X_SECURITY_GROUP => ‘STANDARD’,
X_OWNER => ‘SYSADMIN’,
X_START_DATE => Trunc(sysdate),
X_END_DATE => NULL,
X_DESCRIPTION => NULL,
X_LAST_UPDATE_DATE => Trunc(sysdate));
COMMIT;
END;