Difference between revisions of "REST API:REST API CheatSheet"

From AgileApps Support Wiki
imported>Aeric
imported>Aeric
 
(34 intermediate revisions by the same user not shown)
Line 1: Line 1:
'''Resource URI:''' <tt>https://{domain}/networking/rest/{resource}
'''Resource URI:''' <tt>https://{{domain}}/networking/rest/{resource}</tt>
__TOC__
 


====Session Resources====
====Session Resources====
Line 7: Line 9:
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
|-
|-
| align="center"|POST || login  || Start a session. || ||
| align="center"|POST || login  || Start a session. || Session cookie ||  
|-
|-
| align="center"|GET || logout || End a session. ||  ||
| align="center"|GET || logout || End a session. ||  ||
Line 19: Line 21:


====Administration Resources====  
====Administration Resources====  
<!-- auditLog -->
<!-- accessProfile-->
<div align="center">[[REST API:accessProfile Resource|accessProfile]]</div>
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
|-
| align="center"|GET  || accessProfile/{id} || Get a profile. ||  ||
|-
| align="center"|POST || accessProfile || Create a new profile. || new || fields
|-
| align="center"|PUT  || accessProfile/{id} || Update a profile. || update || fields
|-
| align="center"|DELETE || accessProfile/{id} || Delete a profile. ||  ||
|-
| align="center"|GET  || accessProfile/{id}?{[[REST_API:Dynamic_Search|search_parameters]]} || Search for profiles. ||  ||
|}
 
 
<!-- application--><br>
<div align="center">[[REST API:application Resource|application]]</div>
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
|-
| align="center"|GET  || application || List installed applications. ||  ||
|-
| align="center"|GET  || application/{id} || List application components and views. ||  ||
|-
| align="center"|GET || objectconfiguration/{id} || Configuration info for a component. ||  ||
|-
| align="center"|PUT  || record/view/{id} || List records included in a view. || ||
|}
 
<!-- applicationAccess--><br>
<div align="center">[[REST API:applicationAccess Resource|applicationAccess]]</div>
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
|-
| align="center"|GET  || applicationAccess/{id} || Get an application access record. ||  ||
|-
| align="center"|POST || applicationAccess || Create an application access record. || new || fields
|-
| align="center"|PUT  || applicationAccess/{id} || Update an application access record. || update || fields
|-
| align="center"|DELETE || applicationAccess/{id} || Delete an application access record. ||  ||
|-
| align="center"|GET  || applicationAccess/{id}?{[[REST_API:Dynamic_Search|search_parameters]]} || Search for application access records. ||  ||
|}
 
<!-- auditLog --><br>
<div align="center">[[REST API:auditLog Resource|auditLog]]</div>
<div align="center">[[REST API:auditLog Resource|auditLog]]</div>
:{| border="1" cellpadding="5" cellspacing="1"  width="100%"
:{| border="1" cellpadding="5" cellspacing="1"  width="100%"
Line 147: Line 196:
| align="center"|DELETE || tenantDataSharingPolicy/{policy_id} || Delete a tenant data sharing record. ||  ||
| align="center"|DELETE || tenantDataSharingPolicy/{policy_id} || Delete a tenant data sharing record. ||  ||
|}
|}


==== Data Management Resources ====
==== Data Management Resources ====
Line 163: Line 213:
|-
|-
| align="center"|GET  || record/{objectName}?{[[REST_API:Dynamic_Search|search_parameters]]} ||  Search for object records. ||  ||
| align="center"|GET  || record/{objectName}?{[[REST_API:Dynamic_Search|search_parameters]]} ||  Search for object records. ||  ||
|}
<!-- bulk--><br>
<div align="center">[[REST API:bulk record Resource|bulk record]]</div>
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
|-
| align="center"|POST || record/{objectName}/bulk/add || Create new object records. || new || data structure
|-
| align="center"|PUT  || record/{objectName}/bulk/update || Update object records. || update || data structure
|-
| align="center"|DELETE || record/{objectName}/bulk/update || Delete an object record.  || delete || data structure
|}
|}


Line 181: Line 243:
|}
|}


<!-- bulk --><br>
<!-- bulk/import --><br>
<div align="center">[[REST API:bulk Resource|bulk]]</div>
<div align="center">[[REST API:bulk Resource|bulk]] / [[REST API:import Mapping Profile Resource|import mapping profile]]</div>
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
Line 189: Line 251:
|-
|-
| align="center"|POST || bulk/Custom || Upload multiple records to a {{type|}} in a single transaction. || custom obj || ID+mapping<br/>(multipart w/data file)
| align="center"|POST || bulk/Custom || Upload multiple records to a {{type|}} in a single transaction. || custom obj || ID+mapping<br/>(multipart w/data file)
|-
| colspan="5" bgcolor="lightblue" style="height:7px" |  <!-- SPACER ROW -->
|-
| align="center"|GET || import/{objectName} || List mapping profiles || List ||
|-
| align="center"|GET || import/{objectName}/{mappingProfilename} || Get a mapping profile ||  profile data ||
|-
| align="center"|POST || import/{objectName}/{mappingProfilename} || Add a mapping profile || new ||
|-
| align="center"|PUT || import/{objectName}/{mappingProfilename} || Update a mapping profile || update ||
|-
| align="center"|DELETE|| import/{objectName}/{mappingProfilename} || Delete a mapping profile || deleted ||
|}
|}


Line 205: Line 281:
|-
|-
| align="center"|GET  || execSQL?sql={query_string} || Make a SQL query. || Result set ||
| align="center"|GET  || execSQL?sql={query_string} || Make a SQL query. || Result set ||
|}
==== Workflow Resources ====
<!-- workflowAction -->
<div align="center">[[REST API:workflowAction Resource|workflowAction]]</div>
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
|-
| align="center"|GET || workflowAction/record/{objectName}/{record_id} || Get a list of available state-transition actions for a record. ||  ||
|}
<!-- record --><br>
<div align="center">[[REST API:record Resource|record]]</div>
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
|-
| align="center"|GET  || record/{objectName}/{record_id}/workflowOwners || List workflow owners || list ||
|-
| align="center"|POST || record/{objectName}/{record_id}/operation/changeWorkflowState || Execute a defined action to transition to a new record state. || transition || fields (workflowID, action, comment, owner)
|}
|}


Line 253: Line 310:
|}
|}


<!-- index --><br>
<!--index --><br>
<div align="center">[[REST API:index Resource|index]]</div>
<div align="center">[[REST API:index Resource|index]]</div>
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
Line 274: Line 331:
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
|-
|-
| align="center"|GET  || form/object/{objectName}/{record_id}[?mode=add/edit/view] || Retrieve the form displayed when a user is adding, editing, or viewing a record. ||  || Specify mode.
| align="center"|GET  || form/object/{objectName}?mode=[add/edit/view] || Retrieve the form displayed when a user is adding, editing, or viewing a record. ||  || Specify mode.
|}
|}
-->
-->
<!-- recordLocator --><br>
<!-- recordLocator --><br>
<div align="center">[[REST API:recordLocator Resource|recordLocator]]</div>
<div align="center">[[REST API:recordLocator Resource|recordLocator]]</div>
Line 366: Line 422:
|-
|-
| align="center"|GET  || customPage?{[[REST_API:Dynamic_Search|search_parameters]]} || Search JSP pages. ||  ||
| align="center"|GET  || customPage?{[[REST_API:Dynamic_Search|search_parameters]]} || Search JSP pages. ||  ||
|}
<!-- function --><br>
<div align="center">[[REST API:function Resource|function]]</div>
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
|-
| align="center"|GET  || function || List available functions. || list ||
|-
| align="center"|GET  || function/{record_id} || Get the code that defines a function. ||  ||
|-
| align="center"|POST || function || Create a function. || new || function code
|-
| align="center"|PUT  || function/{record_id} || Update a function. || update || function code
|-
| align="center"|DELETE || function/{record_id} || Delete a function. ||  ||
|-
| align="center"|GET  || function?{[[REST_API:Dynamic_Search|search_parameters]]} || Search functions. ||  ||
|}
<!-- metadata Repository--><br>
<div align="center">[[REST API:repository Resource|repository]]</div>
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
|-
| align="center"|GET  || repository || Read the settings for the ''metadata repository''--an external location in the file system (typically managed by a version control system) where object-defining metadata is stored, along with the metadata for other platform elements. || read settings ||
|-
| align="center"|PUT  || repository || Update settings for the metadata repository. || update || enable or disable, path to repository
|-
| align="center"|POST || rest/repository/operation/readFrom || Update platform with the latest metadata stored in the repository. || read ||
|-
| align="center"|POST || rest/repository/operation/writeTo || Write changes from your platform to the shared metadata repository. || write ||
|}
|}


Line 425: Line 449:
| align="center"|GET || utility/timeZone/{zone_id} || Get a time zone code. ||  ||
| align="center"|GET || utility/timeZone/{zone_id} || Get a time zone code. ||  ||
|}
|}


==== Service Provider Resources ====
==== Service Provider Resources ====
Line 433: Line 458:
|-
|-
| align="center"|GET  || license || Retrieve platform license. ||  ||
| align="center"|GET  || license || Retrieve platform license. ||  ||
|}
<!-- promoCode--><br>
<div align="center">[[REST API:promoCode Resource|promoCode]]</div>
:{| border="1" cellpadding="5" cellspacing="1" width="100%"
! Method !! align="left"|Resource !! align="left"|Description !! align="left"|Result !! align="left"|Request/Params
|-
| align="center"|GET  || promoCode?fieldList=* || Get all promotion code records, with all fields. ||  ||
|-
| align="center"|GET  || promoCode/{promotion_code} || Get a promotion code record. ||  ||
|-
| align="center"|POST || promoCode || Create a new promo code. || new || fields
|-
| align="center"|PUT  || promoCode/{promotion_code} || Update a promotion code record. || update || fields
|-
| align="center"|DELETE || promoCode/{promotion_code} || Delete a tenant. ||  ||
|-
| align="center"|GET  || promoCode?{[[REST_API:Dynamic_Search|search_parameters]]} || Search promotion code records. ||  ||
|}
|}


Line 505: Line 548:
|colspan="5"|{{Note|Jobs can be scheduled from the GUI, or by using the class [[REST API:exec Resource|exec]] REST API to run a method that uses the Java APIs to [[Java API:Schedule a Job|Schedule a Job]].}}
|colspan="5"|{{Note|Jobs can be scheduled from the GUI, or by using the class [[REST API:exec Resource|exec]] REST API to run a method that uses the Java APIs to [[Java API:Schedule a Job|Schedule a Job]].}}
|}
|}


==== Status Resources ====
==== Status Resources ====

Latest revision as of 19:39, 1 October 2015

Resource URI: https://{yourDomain}/networking/rest/{resource}


Session Resources

Method Resource Description Result Request/Params
POST login Start a session. Session cookie
GET logout End a session.
GET user/isSessionValid See if a session is in progress.
GET user/info Get ID of logged-in user.
POST user/operation/changePassword Change password for the currently logged in user. old password
new password

Administration Resources

Method Resource Description Result Request/Params
GET accessProfile/{id} Get a profile.
POST accessProfile Create a new profile. new fields
PUT accessProfile/{id} Update a profile. update fields
DELETE accessProfile/{id} Delete a profile.
GET accessProfile/{id}?{search_parameters} Search for profiles.



Method Resource Description Result Request/Params
GET application List installed applications.
GET application/{id} List application components and views.
GET objectconfiguration/{id} Configuration info for a component.
PUT record/view/{id} List records included in a view.


Method Resource Description Result Request/Params
GET applicationAccess/{id} Get an application access record.
POST applicationAccess Create an application access record. new fields
PUT applicationAccess/{id} Update an application access record. update fields
DELETE applicationAccess/{id} Delete an application access record.
GET applicationAccess/{id}?{search_parameters} Search for application access records.


Method Resource Description Result Request/Params
GET auditLog/{record_id} Get details of an Audit Log record.
GET auditLog?{search_parameters} Search the Audit Log.


Method Resource Description Result Request/Params
GET companyInfo Retrieve company information.
PUT companyInfo Update company information. update fields


Method Resource Description Result Request/Params
GET passwordPolicy Retrieve record that specifies restrictions on passwords that users can choose.
PUT passwordPolicy Update password policy settings. update fields


Method Resource Description Result Request/Params
GET user/{user_id} Get a user record.
POST user Create a new user. new fields
PUT user/{user_id} Update a user record. update fields
POST user/updatePassword Reset a user's password. userID, password, reset, email
DELETE user/{user_id} Delete a user.
GET user?{search_parameters} Search for users.


Method Resource Description Result Request/Params
GET role/{role_id} Get a role definition.
POST role Create a new role. new fields
PUT role/{role_id} Update a role record. update fields
DELETE role/{role_id} Delete a role record.
GET role/{role_id}?{search_parameters} Search for roles.


Method Resource Description Result Request/Params
GET team/{team_id} Get a team record.
POST team Create a new team. new fields
PUT team/{team_id} Update team information. update fields
DELETE team/{team_id} Delete a team.
GET team?{search_parameters} Search for teams.


Method Resource Description Result Request/Params
GET userTeam/{record_id} Get a user/team junction record.
POST userTeam/ Create a new user/team junction record. new fields
PUT userTeam/{record_id} Update a user/team junction record. update fields
DELETE userTeam/{record_id} Delete a user/team junction record.
GET userTeam/{record_id}?{search_parameters} Search records in the user/team junction object.

Data Sharing Resources

Method Resource Description Result Request/Params
GET teamDataSharingPolicy List the records that tell how and with whom a team can share data. list
GET teamDataSharingPolicy/{policy_id} Get a record that defines sharing policies with a specific recipient.
POST teamDataSharingPolicy Create a new data sharing record. new fields
PUT teamDataSharingPolicy/{policy_id} Update a data sharing record. update fields
DELETE teamDataSharingPolicy/{policy_id} Delete a data sharing record.


Method Resource Description Result Request/Params
GET tenantDataSharingPolicy List policies for sharing data between tenants. read all
GET tenantDataSharingPolicy/{policy_id} Get a tenant data sharing record.
POST tenantDataSharingPolicy Create a new tenant data sharing record. new fields
PUT tenantDataSharingPolicy Update a tenant data sharing record. update fields
DELETE tenantDataSharingPolicy/{policy_id} Delete a tenant data sharing record.


Data Management Resources

Method Resource Description Result Request/Params
GET record/{objectName}/{record_id} Get a new object record.
POST record/{objectName}[?retrieve_record=true] Create a new object record. Optionally retrieve the updated record. new fields
(multipart supported)
PUT record/{objectName}/{record_id}[?retrieveRecord=true] Update an object record. Optionally retrieve the created record. update fields
(multipart supported)
DELETE record/{objectName}/{record_id} Delete an object record.
GET record/{objectName}?{search_parameters} Search for object records.


Method Resource Description Result Request/Params
POST record/{objectName}/bulk/add Create new object records. new data structure
PUT record/{objectName}/bulk/update Update object records. update data structure
DELETE record/{objectName}/bulk/update Delete an object record. delete data structure


Method Resource Description Result Request/Params
GET record/{objectName}/{record_id} Retrieve an object record, along with records from related objects.
POST record/{objectName} Create a new object record, optionally adding or updating records in Related Objects, depending on cascade rules. new fields
(multipart supported)
PUT record/{objectName}/{record_id} Update an object record, optionally adding or updating records in related objects, depending on cascade rules. update fields
(multipart supported)
DELETE record/{objectName}/{record_id} Delete an object record, optionally deleting records in related objects, depending on cascade rules.
GET record/{objectName}?{composite_search_params} Search for object records. Both the search criteria and information returned can be defined in terms of Related Objects, as well as the initial object.


Method Resource Description Result Request/Params
POST bulk/{objectName} Upload multiple records to a System Object in a single transaction. system obj mapping+special
(multipart w/data file)
POST bulk/Custom Upload multiple records to a Custom Object in a single transaction. custom obj ID+mapping
(multipart w/data file)
GET import/{objectName} List mapping profiles List
GET import/{objectName}/{mappingProfilename} Get a mapping profile profile data
POST import/{objectName}/{mappingProfilename} Add a mapping profile new
PUT import/{objectName}/{mappingProfilename} Update a mapping profile update
DELETE import/{objectName}/{mappingProfilename} Delete a mapping profile deleted


Method Resource Description Result Request/Params
GET document/{documentId} Download a stored document. download


Method Resource Description Result Request/Params
GET execSQL?sql={query_string} Make a SQL query. Result set

Customization Resources

Method Resource Description Result Request/Params
GET object List objects. read all
GET object/{objectName} Get an object definition.
POST object Create a new object. new fields
PUT object/{objectName} Update an object definition. update fields
DELETE object/{objectName} Delete an object.


Method Resource Description Result Request/Params
GET field/{objectName} List fields defined for an object. read all
GET field/{objectName}/{fieldName} Get a field definition.


Method Resource Description Result Request/Params
GET index/{objectName} List indexes defined for an object. read all
GET index/{objectName}/{indexName} Get an index definition.
POST index/{objectName}/{indexName} Add an index add fields
PUT index/{objectName}/{indexName} Modify an index update fields
DELETE index/{objectName}/{indexName} Remove an index delete


Method Resource Description Result Request/Params
GET recordLocator/{record_id} Get the record that defines indexes for an object.
PUT recordLocator/{record_id} Update the record that defines indexes for an object. update fields


Method Resource Description Result Request/Params
POST package/operation/download/{package_id}[?lastPublishedVersion=true] Download a published package. If it hasn't been published yet, publish it first. multipart response
POST package/subscribe?packageId={id}[&version={version#}] Subscribe to a package in the platform repository.
POST package/subscribe?fileName={zipfile_path} Subscribe to a package file. Do a multipart post.


Method Resource Description Result Request/Params
GET translationWorkBench/{type}/{category}.{token}[?args=param1,...] Get a translated string from the Translation Workbench, passing optional arguments for inclusion in the string.

Development Resources

Method Resource Description Result Request/Params
GET class/{record_id} Get the code that defines a class.
PUT class/{record_id} Replace the code that defines a class. update Code for the class.
POST class Create a new class. new Code for the class
DELETE class/{record_id} Delete a class.
GET class?{search_parameters} Search classes.


Method Resource Description Result Request/Params

POST class/operation/exec Execute a class method. execute class, method, params


Method Resource Description Result Request/Params
GET customPage/{record_id} Get a JSP page.
POST customPage Create a JSP page. new fields
PUT customPage/{record_Id} Update a JSP page. update fields
DELETE customPage/{record_id} Delete a JSP page.
GET customPage?{search_parameters} Search JSP pages.


Method Resource Description Result Request/Params
GET staticResource List available static resources (files and images, for example). list
GET staticResource/{resource_id}[?getfile=true] Get a static resource.
POST staticResource Create a new static resource. new fields
PUT staticResource/{resource_id} Update a static resource. update fields
DELETE staticResource/{resource_id} Delete a static resource.


Method Resource Description Result Request/Params
GET utility/timeZone List available time zone codes. list
GET utility/timeZone/{zone_id} Get a time zone code.


Service Provider Resources

Method Resource Description Result Request/Params
GET license Retrieve platform license.


Method Resource Description Result Request/Params
GET promoCode?fieldList=* Get all promotion code records, with all fields.
GET promoCode/{promotion_code} Get a promotion code record.
POST promoCode Create a new promo code. new fields
PUT promoCode/{promotion_code} Update a promotion code record. update fields
DELETE promoCode/{promotion_code} Delete a tenant.
GET promoCode?{search_parameters} Search promotion code records.


Method Resource Description Result Request/Params
GET tenant/{tenant_id} Get a tenant record.
POST tenant Create a new tenant. new fields
PUT tenant/{tenant_id} Update a tenant record. update fields
DELETE tenant/{tenant_id} Delete a tenant.
GET tenant?{search_parameters} Search tenants.


Method Resource Description Result Request/Params
GET tenantCapabilities/{tenant_id} Get the record that defines the platform features a tenant can access.
PUT tenantCapabilities/{tenant_id} Update tenant capabilities. update fields

Community Resource

Method Resource Description Result Request/Params
POST networking/community/user/operation/linkToCommunity Join a community. join username
password
GET networking/community/login/site?userName=...&password=... Login to a community. login
POST networking/community/user/operation/changePassword Change password of currently logged in user. old password
new password


Scheduled Jobs Resources

Method Resource Description Result Request/Params
GET scheduledJob/{job_id} Get details on a job.
DELETE scheduledJob/{job_id} Delete a job.
GET scheduledJob?{search_parameters} Search job history. Ex: ?fieldList=jobId,jobName&filter="jobName contains 'Update'"

Notepad.png

Note: Jobs can be scheduled from the GUI, or by using the class exec REST API to run a method that uses the Java APIs to Schedule a Job.


Status Resources

Method Resource Description Result Request/Params

'
GET status/import/{job_id} Get status of an import job. (Imports run in the background, as scheduled jobs.) Record counts, reason for rejections
GET status/import?{search_parameters} Search import jobs. Ex: ?fileName,status&
filter=objectName contains 'contact'
list


Method Resource Description Result Request/Params
GET status/packageDeploy/{job_id} Get status for a package deployment job. (Deployments run in the background, as scheduled jobs.) Deployment counts, reasons for failures
GET status/packageDeploy?{search_parameters} Search package deployments. Ex: ?fieldList=packageName,status list