Supplier Data API With Pagination
Supplier Data API With Pagination
architecture)
SAP Ariba Supplier Risk
This guide is for application developers seeking information about how to build client applications to retrieve and
update information about their organization's suppliers.
Buyers use supplier management processes to add new suppliers, gather and maintain supplier profile
information, and decide which suppliers are qualified or preferred in specific domains. They can also use modular
questionnaires to maintain supplier information, including certificates.
Related Guides
The Supplier Data API with Pagination allows you to get data about your suppliers, including their registration,
qualification, and preferred status and details about their questionnaires and certificates, using pagination to limit
the amount of data you get with each post. It also allows you to set questionnaire answers and qualification or
preferred status.
You can only retrieve and update data related to the functionality to which you're entitled as part of your solution
package. For example, registration projects are only available in SAP Ariba Supplier Lifecycle and Performance and
SAP Ariba Supplier Information and Performance Management (new architecture). Qualification, preferred supplier
management, and process projects are only available in SAP Ariba Supplier Lifecycle and Performance.
• Pagination of returned results for all API endpoints, with specific limits on the number of results per page
returned based on query parameters.
• Filter parameters that allow you to post incremental requests for data.
• Endpoints for getting supplier data, including IDs and registration, qualification, or preferred category status,
and for setting qualification and preferred category status.
• Multiple endpoints for fetching questionnaire data in different ways: for each supplier, you can get data for all
questionnaires, all questionnaires for a specific project (workspace), or a specific questionnaire.
• Multiple endpoints for fetching data about specific question answers within questionnaires: for each supplier,
you can get answer data for all questions, questions from a specific project (workspace), or questions from a
specific questionnaire.
• An endpoint for fetching header-level data for all of a supplier's certificates.
• An endpoint for setting questionnaire data in registration, qualification, and modular supplier management
questionnaires.
• Multiple endpoints for managing process projects from an internal system.
You can also create an application that uses the vendor data, certificate, and question and answer endpoints from
this API, in combination with the External Approval API for Sourcing and Supplier Management endpoints for:
• Retrieving questionnaire details and attachments, to not only retrieve certificate information but download
certificate attachments collected in supplier management questionnaires.
• Enabling external approval and status decisions for process projects and their modular questionnaires.
Note
This guide only contains information about the active version of this API. To find the active version of this API,
refer to the version history.
Before you can use the Supplier Data API with Pagination, you must:
Retrieving supplier certificate attachments and approving modular questionnaires used in process projects
requires use of endpoints from the External Approval API for Sourcing and Supplier Management. You must
complete prerequisites for use of that API separately, and use of that API requires a separate application key.
Prior to developing an application using the Supplier Data API with Pagination, you must register on the developer
portal and obtain an application key, an OAuth client ID, and an OAuth client secret.
• You must have Customer Support enable API access to your site.
• Each API invocation retrieves data for a single site.
• OAuth tokens are short-lived and expire 24 minutes (1440 seconds) after they're issued. Tokens must be
refreshed.
Endpoint results for the Supplier Data API can include some fields that are general across supplier management
functionality and projects, and that aren't listed in the API swagger documentation on the SAP Ariba developer
portal. Make sure that your API client applications only use and handle the fields that are listed in the API swagger
documentation.
Supplier Data API with Pagination Query and Filter Parameters [page 7]
Supplier Data API with Pagination Endpoints and Their Usage [page 9]
Workflows for the Supplier Data API with Pagination [page 66]
Requests sent using the GET method include pagination tokens in the header; some of the endpoints also pass
parameters in the URL.
Parameter Description
Content-Type application/json
Parameter Description
realm Specifies the name of the customer site that the client applica-
tion wants to access, which can be any of the realmName
values in the realms list returned by the Oauth token.
Note
This parameter replaces the client ID enablement con-
skip Specifies the pagination token returned in the body of the pre-
vious response, which is a numeric value.
top Specifies the number of records returned for the page in the
response from the pagination token onward. The value you
specify must be greater than 0 and less than or equal to the
system-defined pagination limit per page for the endpoint.
Note
• Since indexing of updates to supplier records can
take some time, real-time retrieval of supplier data
updates isn’t possible. Allow a time delay between
update times and queries that filter for those update
timestamps.
• Questionnaire submission is an asynchronous proc-
ess that can take some time depending on the size of
the questionnaire. API queries return results for sub-
missions completed within the specified timestamps.
• For the vendorDataRequests endpoint, updates
to a vendor database field, change of project status,
and the sending of a questionnaire all register as up-
dates to vendor records.
{{runtime_url}}/supplierdatapagination/v4/prod/vendors/S1052004/workspaces/
questionnaires/qna/?realm=customersite-T&$skip=10=updatedDateFrom ge
'2019-09-29T12:20:51Z' and updatedDateTo le '2019-09-29T12:20:51Z'
The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.
POST {{runtime_URL}}/ Returns the data speci- Supplier questionnaire • Request Filter and
supplierdatapagi fied in request body fil- management
Output Values for
nation/v4/prod/ ters for all suppliers,
the vendorDataRe-
vendorDataReques with or without IDs for
their associated ques- quests Endpoint
ts
tionnaires. [page 15]
• Output Fields
[page 18]
• Use of the Sup-
plier Data API with
Pagination vendor-
DataRequests End-
point [page 14]
• Update of a Ques-
tionnaire Using the
Supplier Data API
with Pagination
[page 68]
• Retrieval of Certifi-
cate Attachments
from Supplier Man-
agement Question-
naires Using the
Supplier Data API
with Pagination
and the External
Approval API for
Sourcing and Sup-
plier Management
[page 70]
GET {{runtime_URL}}/ Gets all supplier Supplier management Use of the Supplier
supplierdatapagi management projects project Data API with Pagina-
nation/v4/prod/ (workspaces) for the tion workspaces End-
vendors/{SM specified supplier. point [page 33]
Vendor ID}/
workspaces
Vendor ID}/
workspaces/
{workspace ID}
GET {{runtime_URL}}/ Gets all modular ques- Supplier modular ques- Use of the Supplier
supplierdatapagi tionnaire data for the tionnaire management Data API with Pagi-
nation/v4/prod/ specified supplier. nation questionnaires
vendors/ Endpoint [page 36]
{vendorId}/
workspaces/
questionnaires
GET {{runtime_URL}}/ Gets data for the speci- Supplier modular ques- • Use of the Supplier
supplierdatapagi fied modular question- tionnaire management
Data API with Pag-
nation/v4/prod/ naire for the specified
ination question-
vendors/ supplier.
naires Endpoint
PATCH {vendorId}/ Updates expiration Supplier modular ques- [page 36]
workspaces/ dates or due dates of tionnaire management
questionnaires/ modular questionnaires
• Updating Expira-
GET {{runtime_URL}}s Gets all question and Supplier questionnaire • Use of the Supplier
upplierdatapagin answer data in all ques- management
Data API with Pag-
ation/v4/prod/ tionnaires for the speci-
ination qna End-
vendors/{SM fied supplier.
point [page 39]
vendor ID}/
workspaces/
• Update of a Ques-
tionnaire Using the
questionnaires/q
Supplier Data API
na
with Pagination
GET {{runtime_URL}}s Gets all question and Supplier questionnaire [page 68]
upplierdatapagin answer data in all management
ation/v4/prod/ questionnaires in the
vendors//{SM specified project (work-
space) for the specified
vendor ID}/
supplier.
workspaces/
{workspace id}/
questionnaires/q
na
VendorID}/
workspaces/
questionnaires/
{questionnaire
id}/qna
POST {{runtime_URL}}s Posts answers to ques- Supplier questionnaire • Use of the Sup-
upplierdatapagin tions in the specified management
plier Data API with
ation/v4/prod/ questionnaire in the
Pagination answers
vendors/{SM specified project for the
specified supplier. Endpoint [page
VendorID}/
41]
workspaces/
{workspace id}/
• Update of a Ques-
tionnaire Using the
questionnaires/
Supplier Data API
{questionnaire
id}/answers with Pagination
[page 68]
• Updating Process
Intake Form An-
swers Using the
Supplier Data API
with Pagination
[page 76]
GET {{runtime_URL}}s Gets certificate ques- Supplier certificate • Use of the Supplier
upplierdatapagin tion data for the speci- management
Data API with Pag-
ation/v4/prod/ fied vendor.
ination certificates
vendors/{SM Endpoint [page
vendor ID}/
44]
certificates
• Retrieval of Certifi-
cate Attachments
from Supplier Man-
agement Question-
naires Using the
Supplier Data API
with Pagination
and the External
Approval API for
Sourcing and Sup-
plier Management
[page 70]
PATCH {{runtime_url}}/ Updates the regions or Supplier process man- • Use of the Sup-
supplierdatapagi status decisions of a agement
plier Data API with
nation/v4/prod/ process. Pagination header-
{vendorID}/ Fields Endpoint
workspaces/
[page 50]
{workspaceId}/
headerFields
• Making or Updat-
ing Decisions for
Process Projects
Using the Supplier
Data API with Pag-
ination and the Ex-
ternal Approval API
for Sourcing and
Supplier Manage-
ment [page 72]
GET {{runtime_URL}}/ Retrieves header field Supplier process man- • Use of the Supplier
supplierdatapagi information about all agement
Data API with Pag-
nation/v4/prod/ processes of a supplier.
ination processes
vendors/ Endpoint [page
{vendorId}/
51]
processes
• Retrieving Process
GET {{runtime_URL}}/ Retrieves header field Supplier process man- Header Field Infor-
supplierdatapagi information and deci- agement mation and Proc-
nation/v4/prod/ sion history of a specific
ess Decision His-
vendors/ process.
tory Using the Sup-
{vendorId}/ plier Data API with
processes/{wid} Pagination [page
74]
• Updating Process
Intake Form An-
swers Using the
Supplier Data API
with Pagination
[page 76]
• Retrieving Process
Intake Form Details
or Questionnaire
Details in a Spe-
cific Version Using
the Supplier Data
API with Pagination
[page 75]
GET {{runtime_URL}}/ Retrieves process in- Supplier process man- • Use of the Supplier
supplierdatapagi take form details or
agement Data API with Pag-
nation/v4/prod/ questionnaire details in
ination versions
vendors/ the latest version. Supplier questionnaire
Endpoint [page
{vendorId}/ management
63]
workspaces/
questionnaires/
• Retrieving Process
Intake Form Details
{questionnaireId
or Questionnaire
}/qna/versions
Details in a Spe-
GET {{runtime_URL}}/ Retrieves process in- Supplier process man- cific Version Using
supplierdatapagi take form details or
agement the Supplier Data
nation/v4/prod/ questionnaire details in
API with Pagination
vendors/ a specific version. Supplier questionnaire
[page 75]
{vendorId}/ management
workspaces/
• Updating Process
Intake Form An-
questionnaires/
swers Using the
{questionnaireId
}/qna/versions/ Supplier Data API
{versionId} with Pagination
[page 76]
The Supplier Data API with Pagination vendorDataRequests endpoint uses the POST method to send a JSON
request to your site. The request specifies query and filter parameters in the URL, authentication in the header, and
filters and output format in the body.
Note
The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.
Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.
Update of a Questionnaire Using the Supplier Data API with Pagination [page 68]
Retrieval of Certificate Attachments from Supplier Management Questionnaires Using the Supplier Data API with
Pagination and the External Approval API for Sourcing and Supplier Management [page 70]
The JSON request that the vendorDataRequests endpoint of the Supplier Data API with Pagination sends to your
site uses name/value pairs or arrays to specify the data you want to return in output.
The following table describes the valid values for name/value pairs and arrays in request body.
categoryList One or more of the category IDs loaded in your site as master
data and used in supplier management projects, separated by
commas.
withQuestionnaire TRUE to include the titles, IDs, and types of any questionnaires
associated with the suppliers returned in results; otherwise,
FALSE.
Note
You can only specify TRUE if you specify outputFormat
of JSON. CSV output does not return questionnaire infor-
mation.
smVendorIds One or more valid SM vendor IDs for suppliers in your site,
separated by commas.
withGenericCustomFields TRUE to include all custom field data associated with the sup-
pliers returned in results; otherwise, FALSE.
• vendor.supplier.GenericCustomField
• vendor.businessPartnerGenericCustomFiel
d
• vendor.CompanyCode.customFieldApis
• vendor.bankInfos.customFieldApis
Note
You can only specify TRUE if you specify outputFormat
of JSON. CSV output does not return custom field infor-
mation.
Cancelled, QualificationRejected,
Disqualified,
QualificationExpired,PendingDisqualificati
onApproval, QualificationStarted,
InQualification,
PendingQualificationApproval,
PendingQualificationResubmit,
QualificationRestricted,
QualifiedWithException, Qualified
regionList One or more of the region codes loaded in your site as master
data and used in supplier management projects, separated by
commas.
RegistrationDenied,
InExternalApprovalForCreation, NotInvited,
Invited, InRegistration, PendingApproval,
PendingResubmit, Registered
The supported values for registration and qualification statuses are the system unique names for those
statuses. The supported values for preferred levels are the numbers 1-5. Use of your company's custom labels
for these statuses and levels in API requests is not supported.
The following sample request body retrieves questionnaire titles, IDs, and types for two specific suppliers in JSON
format:
{
"outputFormat":"JSON",
"withQuestionnaire":true,
"smVendorIds":["S1004848","S1004834"]
}
The following sample request body retrieves questionnaire names, IDs, and types and custom field data for all
suppliers in JSON format, limiting results to 250 per page:
{
"outputFormat":"JSON",
"withQuestionnaire":true,
"pageLimit":250,
"withGenericCustomFields":true
}
The following sample request body retrieves the exact process type in the disqualification information response
when you disqualify a process:
{
"outputFormat":"JSON",
"withQuestionnaire":false,
"pageLimit":250,
"withGenericCustomFields":true,
"withDisqualifications":true
}
The JSON request that the vendorDataRequests endpoint of the Supplier Data API with Pagination sends to your
site uses name/value pairs or arrays to specify the data you want to return in output.
The following table describes valid values for name/value pairs and arrays in the request body. The parameters list
below shows only those that are introduced as part of the current enhancements to the vendorDataRequests
endpoint:
One or more valid ERP vendor IDs for suppliers in your site,
erpVendorIds
separated by commas. For more information, see Supplier IDs
in SAP Ariba Supplier Lifecycle and Performance.
withBankDetail TRUE to include all bank related data associated with the sup-
pliers returned in results; otherwise, FALSE.
Note
You can only specify TRUE if you specify outputFormat
of JSON. CSV output doesn't return bank details.
withTaxDetail TRUE to include all tax related data associated with the suppli-
ers returned in results; otherwise, FALSE.
Note
You can only specify TRUE if you specify outputFormat
of JSON. CSV output doesn't return tax details.
withCompanyCodeDetail TRUE to include all company code details associated with the
suppliers returned in results; otherwise, FALSE.
Note
You can only specify TRUE if you specify outputFormat
of JSON. CSV output doesn't return company code details.
The following sample request body retrieves bank details, tax details, and company code details for a specific
supplier in JSON format, limiting results to 500 per page:
{
"smVendorIds": ["S10109602"],
"erpVendorIds": ["1351015"],
"withBankDetail":true,
"withTaxDetail":true,
"withCompanyCodeDetail":true,
"pageLimit":500,
"outputFormat":"JSON"
}
Related Information
Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]
Output Fields
The response for a vendorDataRequests requests includes anchor fields, which are included in every response,
and optional output fields that can be configured in your site, in the specified JSON or CSV format.
SM Vendor ID Yes
An Id Yes
ACM ID Yes
Duplicate SM Vendor Id No
Source System No
Master Vendor Id No
name2 No
name3 No
name4 No
Duns Id No
Industry Code No
Creator No
Blocked Status No
Relationship Established No
Approved No
Transactional Supplier No
Transactional Supplier No
Request Status
• Qualification Status
• Preferred Status
• Category
• Region
• Business Unit
• Process Type
• questionnaireId
• questionnaireTitle
• workspaceType
• workspaceId
• matrixInfo
• Supplier Name
• ERP Vendor ID
• SM Vendor ID
• An Id
• Acm Id
• Registration Status
• Integrated to ERP
• Address - Line 1
• Address - Line 2
• Address - Line 3
• Address - City
• Address - Country Code
• Address - Region Code
• Address - PO Box
• Address - Postal Code
• Qualification Status
• Preferred Status
• Category
• Region
• Business Unit
For both types of output, values for registration and qualification statuses are the unique names for those statuses.
The supported values for preferred levels are the numbers 1-5. Output that uses your company's customized labels
for these statuses and levels is not currently supported. The output uses the same values as the request filters.
Related Information
Configuring Export Fields for the Supplier Data API with Pagination [page 24]
Request Filter and Output Values for the vendorDataRequests Endpoint [page 15]
Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]
Retrieval of Certificate Attachments from Supplier Management Questionnaires Using the Supplier Data API with
Pagination and the External Approval API for Sourcing and Supplier Management [page 70]
The response for the vendorDataRequests endpoint generates optional output fields in the specified JSON.
The existing endpoint returns several fields in the response JSON. Note that the list below shows only those
response fields that are returned as part of the current enhancements to the vendorDataRequests endpoint:
Field Notes
bankInternalID The bank key (under which the bank data is stored in the ap-
propriate country) is specified in this field.
bankAccountType The type of the supplier bank account; for example, checking.
controlKey The field contains a check key for the combination bank num-
ber and bank account number.
line1
line2
line3
poBox
city
countryCode
region
postalCode
countryCode A set of unique identifiers for the taxes to which the supplier is
subject, as defined by each country/region's tax authority.
partyTaxID
taxIdentificationNumberTypeCode
longPartyTaxID
paymentMethodsCode
planningGroupCode
cashDiscountTermsCode
generalLedgerAccountReferenceID
subjectToWithholdingTaxIndicator
withholdingTaxCode
withholdingTaxTypeCode
companyCodeGenericCustomField
bankInfoGenericCustomField
[
{
"Supplier Name": "katTB1692776616263",
"SM Vendor ID": "S10113105",
"ERP Vendor ID": "1801236",
"ACM ID": "ACM_59304",
"Registration Status": "NotInvited",
"Qualification Status": "NotQualified",
"Integrated to ERP": "NotIntegrated",
"Last Integration State": "NotIntegrated",
"Source System": "SM",
"Record Created Date": "1692776751863",
"Last Review Date": "0",
"Last Update Date": "1692776768868",
"Last Status Change Date": "1692776757549",
"Approved": "true",
"Transactional Supplier": "false",
"Main Vendor Type": "true",
"Primary contact first name": "Ptor",
"Primary contact last name": "katTB1692776616263",
"Primary contact email": "[email protected]",
"bankInfos": [
{
"accountName": "Ahname",
"accountNumber": "435455",
"bankAccountExternalID": "57744",
"bankAccountStandardID": "324355",
"bankInternalID": "454534",
"bankBranch": "Bbranch",
"country": "US",
"address": [
{
"line1": "9690 Deereco road",
"city": "Timonium",
"countryCode": "US",
"postalCode": "21093"
}
]
}
],
Related Information
Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]
Configuring Export Fields for the Supplier Data API with Pagination
This topic describes how to specify fields to be included in the Supplier Data API with Pagination data export.
Prerequisites
To configure export fields, the field configuration feature must be enabled in your site.
You can specify which fields to include in data extracted by applications built on the Supplier Data API with
Pagination.
• Supplier Name
• SM Vendor ID
• ERP Vendor ID
• ANID
• ACMID
• Registration Status
• Qualification Status
• Integrated to ERP
• Address
Note
If this feature is enabled and no fields are configured, only the anchor fields are returned.
You can configure the following fields to be included in the data export:
Preferred falls within the broader umbrella of Qualification: When you include Qualification, Preferred
data is included as well.
Note
Configuring export fields does not restrict the query filter fields available for use in your request. For example,
even if you do not include the Address field in your export, you can still use this field to filter what records are
included in the export.
To specify which fields are included in the Supplier Data API with Pagination data export, follow these steps:
Procedure
1. Sign in as a user with the SM Admin or SM Ops Administrator role and navigate to SM Administration.
2. Click Config Fields.
3. In the Type of Data section, choose Supplier.
4. In the API section, select Supplier Data API.
5. In the dropdown that lists available fields, check the checkboxes of the fields you wish to include in the data
export. To ensure that a field is not included in the data export, confirm that its checkbox is unchecked.
6. Click Save.
Related Information
The Supplier Data API with Pagination vendorContactsRequests endpoint uses the POST method to send a
JSON request to your site.
ts
For example, the following URL returns the contact details of the suppliers mentioned in the request body:
POST{{runtime_URL}}/supplierdatapagination/v4/prod/vendors/vendorContactsRequests?
realm=mySiteName
Note
• The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime
URL from the Environment details table on the SAP Ariba developer portal discovery page for this API.
• The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime
URL from the Environment details table on the SAP Ariba developer portal operated by CDC discovery
page for this API.
{
"smVendorIds": [
"S107614566"
],
"erpVendorIds": [
"2261030"
],
"acmIds": [
"ACM_590962"
]
}
Enter any one value out of smVendorId, erpVendorId, or acmId for each supplier in the request body and the
endpoint returns the contact information of those suppliers. The output is returned for a supplier only once even if
you enter all the three IDs for the same supplier. The maximum permitted vendor limit in the request body is 100.
If you exceed this limit, the system displays an error message that reads "You have entered <number> vendors.
Reduce the number so as not to exceed the maximum allowed limit of 100."
Remember
• If you enter supplier IDs that don't exist or are inactive, the IDs are ignored and no output is generated
for those suppliers. The system doesn't display any error message. Therefore, ensure that you enter only
accurate supplier IDs of active suppliers in the request body.
The following example shows a sample response for the request above. Note that the response doesn't include
contact details for smVendorId S107614566. That's because the vendor doesn't exist in the realm and is therefore
ignored.
{
"vendorDetails": [
{
"supplierName": "XYZSolutions",
"erpVendorId": "2261030",
"smVendorId": "S10761800",
"anId": null,
"acmId": "ACM_590937",
"vendorContactInfos": [
{
"firstName": "Ptor",
"lastName": "Ivanov",
"middleName": Igor,
"email": "[email protected]",
"telephone": 080 1234567890,
"title": "Ivanov",
"aodObjectId": null,
"categories": "All",
"mobilePhone": "91 9845921298",
"regions": "",
"sourceSystem": null,
"s4UniqueName": "[email protected]",
"type": "Sales",
"locale": "ar",
"timeZoneId": "ACT",
"departments": "0",
"mobileCountryName": "India",
"telephoneCountryName": "India",
"role": null,
"timeUpdate": 1690877934315,
"timeCreated": 1690263229214,
"active": true,
"primary": true
}
]
},
{
"supplierName": "PQRSolutions",
"erpVendorId": "2273037",
"smVendorId": "S10762100",
"anId": null,
"acmId": "ACM_590962",
"vendorContactInfos": [
{
"firstName": "Thomas",
"lastName": "Issac",
"middleName": Philip,
"email": "[email protected]",
"telephone": "080 1234562399",
"title": "Philip",
"aodObjectId": null,
"categories": "All",
"mobilePhone": "91 9848765298",
"regions": "",
"sourceSystem": null,
"s4UniqueName": "[email protected]",
"type": "Sales",
Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.
Related Information
Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]
Error Messages Returned by the Supplier Data API with Pagination [page 82]
The JSON request that the vendorContactsRequests endpoint of the Supplier Data API with Pagination sends
to your site uses name/value pairs or arrays to specify the data you want to return in output.
The following table describes the valid values for name/value pairs and arrays in request body. Any one of these
values is mandatory in the request body.
smVendorIds A unique ID that SAP Ariba assigns auto- One or more valid SM vendor IDs for sup-
matically to suppliers in SAP Ariba Sup-
pliers in your site, separated by commas.
plier Lifecycle and Performance or SAP
Ariba Supplier Information and Perform-
ance Management (new architecture).
erpVendorIds A mandatory ID for the supplier, which One or more valid ERP vendor IDs for
must be unique in combination with the
suppliers in your site, separated by com-
supplier's source system. For more infor-
mas.
mation, see Supplier IDs in SAP Ariba
Supplier Lifecycle and Performance
acmIds A unique ID assigned by SAP Ariba that One or more valid ACM IDs for suppliers
identifies suppliers internally within SAP
in your site, separated by commas.
Ariba applications. Suppliers created in
SAP Ariba Strategic Sourcing Suite and
SAP Ariba Supplier Management solu-
tions typically have ACM IDs that start
with ACM_
Output Fields
Field Notes
Note
This code matches the commodity master data loaded in
your SAP Ariba Strategic Sourcing Suite.
Note
This value matches the region master data loaded in your
SAP Ariba Strategic Sourcing Suite.
s4UniqueName The unique name of the supplier contact in SAP Ariba Strate-
gic Sourcing Suite
type The type of the supplier contact that matches one of the types
defined for your site.
role role
timeUpdated The date and time when the contact was last updated.
timeCreated The date and time when the contact was created.
The Supplier Data API with Pagination inactiveVendorDataRequests endpoint uses the POST method to send a
JSON post to your site to extract the data of all the inactive suppliers in your site. The post specifies authentication
in the header.
See Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters.
Note
In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.
For example, the following URL returns the data of all the inactive vendors in the realm mysitename:
Sample Code
POST {{runtime_URL}}/supplierdatapagination/v4/prod/inactiveVendorDataRequests/?
realm=mysitename
To retrieve the data of specific vendors, mention the SM Vendor IDs or ERP Vendor IDs of the suppliers. The code
below shows a sample request body:
Sample Code
{
"smVendorIds": [
"S123456",
"S789012"
],
"erpVendorIds": [
6587928761,
1854692346
]
}
Remember
The endpoint retrieves the data of inactive suppliers only. The data of non-inactive and purged suppliers isn't
taken into consideration.
{
"supplierName": XYZ Corporation",
"smVendorId": "S10109602",
"erpVendorId": "1351015654",
"anID": "AN61234567890",
"acmID": "ACM_2234",
"registrationStatus": "Registered",
"erpIntStatus": "Integrated",
"timeUpdated": "1624296064450",
"timeCreated": "1624296064412"
}
Related Information
Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]
Use of the Supplier Data API with Pagination vendors Endpoint [page 46]
The Supplier Data API with Pagination workspaces endpoints use the GET method to send a JSON request to your
site. The request retrieves data about supplier management projects and associated questionnaires.
The GET URL includes query and filter parameters, and the request header specifies authentication.
ID}/workspaces/
{workspace ID}
For example, the following URL returns all of the supplier management workspaces for the specified supplier:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/SM100015/workspaces/?
realm=mysitename
The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.
The workspaces endpoint can retrieve information for supplier request, registration, qualification, disqualification,
preferred supplier management, and modular supplier management questionnaire projects. For process projects,
use the process-related endpoints instead.
Output includes commodity, region, and department (matrix) information for all applicable workspaces. The
following example shows a sample result for the workspaces endpoint:
"Qualification": [
{
"active": true,
"statusId": "WS817753",
"requester": "asmith",
"approver": "bchen",
"title": "Qualification for Supplier 123",
"status": "Qualified",
"canDisqualify": false,
"isExpired": false,
"isRequalificationEligible": false,
"matrixInfo": {
"Status": "Qualified",
"Region": {
"USA",
"Canada"],
"Category": ["5218"],
"Business Unit": ["All"]
"Process Type": ["Full Qualification"]
},
"questionnaires": [],
"links": [
{
"rel": "self",
"href": "http://localhost:8080/SM/rest/smv1/vendors/S2/
workspaces/WS817753"
}
]
},
{
"active": true,
"statusId": "WS842485",
"requester": "asmith",
"approver": "bchen",
"title": "Qualification for Supplier123",
"status": "Qualification Started",
"canDisqualify": false,
"isExpired": false,
"isRequalificationEligible": false,
"matrixInfo": {
"Status": "Qualification Started",
"Region": ["Europe"],
"Category": ["5218"],
"Business Unit": ["All"]
"Process Type": ["Full Qualification"]
},
"questionnaires": [],
"links": [
{
"rel": "self",
"href": "http://localhost:8080/SM/rest/smv1/vendors/S2/
workspaces/WS842485"
}
Note
Output for the workspaces endpoints can include dates for the invitedDate and
questionnaireSubmissionDate, and other dates of specific project activity. These project-related dates
are calendar dates that are relative to the server time zone. They differ from database timestamps such as
timeUpdated and statusTimeUpdated, which include both date and time components and are based on
Greenwich Mean Time (GMT).
The GET URL includes query and filter parameters, and the request header specifies authentication.
{vendorId}/ supplier.
workspaces/
{workspace id}/
questionnaires
{vendorId}/
PATCH N/A Updates expiration dates or
workspaces/
due dates of modular ques-
questionnaires/
tionnaires for a supplier.
{questionnaireId}
Note
• The GET method only returns data for modular questionnaires that have been submitted at least once
by a recipient. For questionnaires that have been created but not yet submitted, they return a 421
Questionnaire not found error.
• questionnaires endpoints only retrieve data related to modular supplier management questionnaires.
You can use workspaces [page 33] endpoints to retrieve the IDs of questionnaires in projects other than
modular questionnaires projects.
For example, the following URL retrieves all of the modular supplier management questionnaire data in a specific
workspace for a specific supplier. Make sure that you append the request parameter includeScore=true if you
want the response to include total score related data.
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/SM100015/workspaces/
WS9050423/questionnaires/?realm=mysitename&includeScore=true
PATCH {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/SM100015/workspaces/
questionnaires/Doc12345678/?realm=mysitename
Note
The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.
See Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters.
Note
The following example shows one sample result out of five for a GET to the questionnaires endpoint that
specifies only the SM vendor ID. Each result includes a HATEOAS (Hypermedia as the Engine of Application State)
link to the questionnaire.
{
"_embedded": {
"questionnaireResourceList": [
{
"questionnaireApi": {
"active": true,
"erpVendorId": null,
"sourceSystem": null,
"smVendorId": "S1830600",
"statusId": "WS7940391",
"nextStatusId": null,
"processId": null,
"filter": null,
"vendorName": null,
"requester": null,
"approver": null,
"startDate": null,
"endDate": null,
"reprocessDate": null,
"statusUpdatedDate": null,
"title": "MSC Certificate for Drugs and pharmacy in USA for XYZ
Company",
"reason": null,
"newStatusId": null,
"filterPaths": null,
"workspaceExtInfo": null,
"autoApproval": false,
"rootId": "68:QUE:58036",
"timeUpdated": 1516316869445,
"docId": "Doc7940394",
"docTitle": null,
"type": null,
"status": "NotResponded",
"updateStatus": null,
"hasBeenCompleted": false,
"shouldReuse": false,
"shouldShowOnProfile": true,
"shouldKeepOpen": true,
"isExpiry": false,
"hasCertificates": null,
"isInternal": false,
"isRequired": false,
"questionnaireUpdatedDate": null
},
expiryDate Specifies the date after which the modular questionnaire ex-
pires.
You can update the expiration date only after the modular
questionnaire is approved and before the modular question-
naire expires.
You can update the due date only before the modular question-
naire is approved.
The following example shows a request body that updates expiration dates or due dates of modular questionnaires:
{
"expiryDate": "MM/DD/YYYY",
"dueDate": "MM/DD/YYYY",
"comment": "string"
}
{
"status": "OK",
"message": "Due Date succussfully updated",
Related Information
Updating Expiration Dates or Due Dates of Modular Questionnaires Using the Supplier Data API with Pagination
[page 67]
The Supplier Data API with Pagination qna endpoint uses the GET method to send a JSON request to your site. The
request retrieves question and answer data from supplier management questionnaires.
The GET URL includes query and filter parameters, and the request header specifies authentication.
vendor ID}/
workspaces/
questionnaires/qna
VendorID}/ plier.
workspaces/
questionnaires/
{questionnaire
id}/qna
For example, the following URL retrieves all of the questions and answers in a specific workspace for a specific
supplier:
GET {{runtime_URL}}supplierdatapagination/v4/prod/vendors/SM100015/workspaces/
WS9050423/questionnaires/qna/?realm=mysitename
These endpoints retrieve question and answer data for all question answer types in active projects except for
Attachment or Certificate, which are not included in results. They also don't retrieve data for text questions with
sensitive data masking. You can use the separate certificates endpoint to retrieve Certificate question and
answer data. They don't retrieve any data for questions and answers in inactive projects, deleted questionnaires, or
questionnaires that are canceled as part of a process cancellation .
Note
The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.
See Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters.
The following example shows a sample result for a qna endpoint. The externalSystemCorrelationId is the KI
ID, a unique identifier for a piece of content in a questionnaire, which also shows in Excel exports of questionnaires
from the user interface. externalSystemCorrelationIds are only unique within an individual questionnaire;
it is possible for a supplier to have two questionnaires with identical externalSystemCorrelationIds. If the
question is a repeatable section, the externalSystemCorrelationId is for the repeatable section itself (not
the parent) and the alternative is the instance of the section, where 0 is the first instance and each additional
instance is numbered in increments of 1.
{
"_embedded": {
"questionAnswerResourceList": [
{
"questionAnswerApi": {
"active": true,
"itemId": "9978602",
"alternative": null,
"externalSystemCorrelationId": "KI_1579537",
"processId": null,
"questionnaireId": "Doc7999335",
"searchTerm": null,
"answer": "test",
"enumerationCodeDelimiters": null,
"dataType": "String",
"multiValued": false,
"smVendorId": "S1830600",
Related Information
The Supplier Data API with Pagination answers endpoint uses the POST method to send a JSON post to your
site to update specific answers in supplier management questionnaires. The post specifies authentication in the
header.
workspaces/
{workspace id}/
questionnaires/
{questionnaire id}/
answers
See Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters.
Note
In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.
You can use it to update any answers to any questionnaire in a registration, qualification, or modular supplier
management questionnaire project as follows:
• For external (supplier-facing) questionnaires, the post can update an answer in any questionnaire that the
supplier isn't currently acting on. This restriction always applies to external registration and qualification
The supplier has been invited Invited Qualification Started Not Responded
to fill out the questionnaire
and sent an email notification
with a link to it.
The supplier has reopened Pending Resubmit Pending Qualification Pending Resubmission
the questionnaire after an Resubmit
approver has requested addi-
tional information.
The self-service configuration parameter Enable API updates for external modular questionnaires with
any status controls this restriction for external modular questionnaires. An administrator in your site can
manage this parameter in Intelligent Configuration Manager. If this parameter is set to Yes, the post can
update answers to external modular questionnaires in any status, including prepopulating newly created
questionnaires with answers from other systems.
• For internal questionnaires, the post can update an answer in any questionnaire regardless of whether or not an
internal user is currently editing it.
The updates posted using the answers endpoint show in your site as updates by the aribasystem system user.
For any individual external registration or modular supplier management questionnaire, the answers included in
a single POST operation are added to the questionnaire as a single updated version of the questionnaire. Users
comparing versions of the questionnaire in your site see the updates made using this API as separate, numbered
versions in the user interface alongside updates made by the supplier or internal questionnaire editor.
By default, updates made using this API don't trigger any approval tasks associated with the questionnaire.
For modular questionnaires and registration questionnaires only, if the update request body includes a
triggerApprove attribute of true, the update starts any approval tasks associated with the current phase
of the questionnaire and proceeds through the approval flow configured in those tasks in the same way as a
manual questionnaire update. If the triggerApprove attribute is false, or if the questionnaire isn't a modular
questionnaire or a registration questionnaire, no approval tasks are triggered.
Note
• The answers you post must be in the expected format. For example, the answer to a date question must
use the date-time format that the questionnaire expects (MM-DD-YYYY), the answer to a multiple choice
question must be one of the valid choices, the answer to a region question must be one of the valid region
codes in your site, and so on.
• The API doesn't validate questions for editability or visibility conditions, and doesn't prevent updates to
questions that are read-only or hidden based on current questionnaire conditions.
Update of a Questionnaire Using the Supplier Data API with Pagination [page 68]
Updating Process Intake Form Answers Using the Supplier Data API with Pagination [page 76]
The Supplier Data API with Pagination scores endpoint uses the GET method to retrieve modular questionnaire
scores and score metadata.
This endpoint is applicable only to graded modular questionnaires. In modular questionnaires that include internal
forms, it's only applicable to the key questionnaire (the template survey document with a questionnaire format of
Questionnaire) in the project. If this endpoint is used to query a nongraded modular questionnaire, or an internal
form in a modular questionnaire project, the client application returns an error.
Note
Replace {{runtime_url}} with the desired runtime URL from the Environment Details table on the SAP
Ariba developer portal discovery page for this API.
This sample code shows fields that are added to the response of the Supplier Data API with Pagination scores
endpoint:
Sample Code
http://host/supplierdatapagination/v4/prod/vendors/S01234/workspaces/
questionnaires/Doc56789/scores?realm=s4All
{
"scores": {
"totalScore": 47.01,
"scoringBand": {
"scoringBandName": "FailedAC",
"scoringBandLabel": "FailedAC",
"scoringBandCategoryName": "AC",
"scoringBandColor": "Red",
"rangeFrom": 0.0,
"rangeTo": 60.0
},
"scoreItems": [
Related Information
Retrieving the List of Active Modular Questionnaires for a Process Type Using the Supplier Data API with Pagination
[page 78]
The Supplier Data API with Pagination certificates endpoints use the GET method to send a JSON request to
your site. The request returns header-level data for certificate questions.
The GET URL includes query and filter parameters, and the request header specifies authentication. The request
returns header-level data for the specified certificate question, including the workspace ID for the project that
includes the question. You can then use this ID to retrieve the certificate attachment [page 70] as well.
For example, the following URL retrieves all of the certificate questions for a specific supplier:
GET {{runtime_URL}}supplierdatapagination/v4/prod/vendors/SM100015/certificates/?
realm=mysitename
The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.
The following example shows one sample result for a GET to the certificates endpoint. Each result includes a
HATEOAS (Hypermedia as the Engine of Application State) link to the certificate question.
{
"_embedded": {
"certificateResourceList": [
{
"vendorCertificateApi": {
"active": true,
"timeUpdated": 1525074049632,
"id": null,
"externalSystemCorrelationId": null,
"certificationType": null,
"certificationTypeOther": null,
"type": "ISO9001",
"effectiveDate": 1519891200000,
"expirationReminderDate": null,
"expirationDate": 1525071600000,
"issueDate": null,
"certificationNumber": "0897987876",
"authorityInfo": "ISO 9001",
"certificationName": null,
"certificationLocation": "Palo Alto",
"yearValid": "2017",
"orgId": null,
"objId": "AANcAe2GVM2LP",
"contentId": null,
"fileName": null,
"fileSize": 0,
"fileDescription": null,
"fileAbsolutePath": null,
"attachmentName": null,
"description": null,
"attachment": null,
"certified": null,
"workspaceId": "WS8350590",
"smVendorId": "S1830600",
"status": "Expired",
"qualificationStatus": "InQualification",
"expirationNotificationWindow": 45,
"expirationFlag": true,
"rootId": "68:VCer:178903"
},
"_links": {
"QuestionAnswers": {
"href": "https://svcmachss.ariba.com:80/SM/rest/smv1/
vendors/S1830600/workspaces/WS8350590/documents/qna"
}
}
},
"_links": {
"self": {
"href": "https://svcmachss.ariba.com:80/SM/rest/smv1/vendors/S1830600/
certificates"
}
},
...
}
Retrieval of Certificate Attachments from Supplier Management Questionnaires Using the Supplier Data API with
Pagination and the External Approval API for Sourcing and Supplier Management [page 70]
The JSON request specifies authentication in the header and status update information in the body.
Note
In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.
The JSON requests that the vendors endpoint sends to your site include statusList arrays with statusType of
either Preferred or Qualification. statusList arrays include the following name/value pairs or arrays:
businessUnit One or more of the business unit or de- Yes, if departments are enabled in your
site.
partment IDs loaded in your site as mas-
ter data and used in supplier manage-
ment projects, separated by commas.
Note
This code must match the depart-
ment master data loaded in your
SAP Ariba strategic sourcing solu-
tions site.
Note
This code must match the commod-
ity master data loaded in your SAP
Ariba strategic sourcing solutions
site.
Note
This code must match the commod-
ity master data loaded in your SAP
Ariba strategic sourcing solutions
site.
• Qualification statuses:
• NotQualified
• QualificationStarted
• InQualification
• PendingQualificationA
pproval
• PendingResubmit
• QualificationRestrict
ed
• QualificationRejected
• Disqualified
• Qualified
• Expired
• Cancelled
If you use display mappings to cus-
tomize what statuses are called in
your site, you must still use these
values to update qualification sta-
tuses.
• Preferred category statuses: num-
bers 1 through 5, where 1 repre-
sents the highest level of prefer-
ment.
The following example shows a status request body that sets a qualification status for a supplier for all
commodities, regions, and departments:
{
"statusList":[
{
"active":true,
"erpVendorId":"1234567",
"sourceSystem":"SAP",
"status":"Qualified"
}
],
"statusType":"Qualification"
}
Note
In sites that include SAP Ariba Supplier Lifecycle and Performance, you can set qualification statuses for
a supplier either automatically using qualification data import or the Supplier Data API with Pagination,
or manually using qualification and disqualification projects. SAP Ariba Supplier Lifecycle and Performance
is designed to maintain qualifications over the long term using projects, which have questionnaires and
• If a qualification status was set using an approved qualification or disqualification project, you can't use
data import or the API to update it. If a supplier was qualified using a qualification project, you must
disqualify them using a disqualification project. If a supplier was disqualified using a disqualification
project, you must requalify them using a qualification project. If a supplier was qualified using a
qualification project with an expiration date and that qualification has expired, you must requalify them
using a qualification project.
• If a qualification status was set using data import or the API, you can use a qualification or disqualification
project to update it. In this case, a qualification manager can start a disqualification or requalification in the
supplier's profile. SAP Ariba Supplier Lifecycle and Performance then creates the appropriate qualification
or disqualification project based on the specified qualification commodities, regions, and departments.
Once that project is created, you can only manage that qualification's status using projects.
• The qualification end (expiration) and requalification eligibility dates in qualification data imports or API
requests are for information only and don't trigger updates to qualification status. For example, if you use
data import or the API to define qualified status with an end date of 1/31/2020, the qualification status
doesn't change to expired on 2/1/2020. Since there was no underlying qualification project to set the
status, you can't start a project-based requalification for a qualification that you defined using data import
or the API and that has since passed the expiration date. The qualification retains the original qualified
status unless you update it using another data import or API operation.
• Since commodities, regions, and departments are hierarchical, with higher and lower levels, when a
supplier is qualified or disqualified for a commodity, region, or department combination, they're also
automatically qualified or disqualified for the lower levels of those hierarchy branches. If a supplier is
disqualified at a higher level of the hierarchy, you can't qualify them at a lower level. For example, if the
supplier is disqualified for apparel in the United States of America, you can't qualify them for shirts in
Colorado. However, if a supplier is qualified at a higher level and the qualification isn't project-based, you
can use data import or the API to partially disqualify them at a lower level. For example, if the supplier is
qualified for apparel in the United States of America, you can disqualify them for shoes in Texas.
Note
In sites that include SAP Ariba Supplier Lifecycle and Performance, you can set preferred category statuses for
a supplier either automatically using preferred supplier data import or the Supplier Data API with Pagination,
or manually using preferred supplier management projects. Preferred category statuses set using data import
or the API don't have associated preferred supplier management projects. Unlike with qualification statuses,
there's also no restriction on using data import or the API to update preferred status for a supplier that has an
existing status based on a preferred supplier management project.
Related Information
Supplier Data API with Pagination Endpoints and Their Usage [page 9]
The PATCH URL includes query and filter parameters, and the request header specifies authentication.
This endpoint is only applicable if your site uses the process project feature (SM-16798).
Note
In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.
Note
Processes that have projects include modular questionnaires based on the combination of the process's
commodities, regions, and departments. Updating a project-based process's regions using this API does not
change the questionnaires included in the process project and can result in a process project that is missing
important questionnaires or that includes questionnaires that are not applicable.
A JSON request that the headerFields endpoint sends to your site can either update region IDs or update status
decisions, but the same request can't do both. Requests can include the following name/value pairs or arrays:
regionIds One or more of the region codes loaded Yes, to update the region. Otherwise, no.
in your site as master data and used
in supplier management projects, sepa- If a value is specified for
rated by commas. regionIds, decisionStatus,
decisionComment, and
decisionMadeBy are ignored.
decisionStatus Values for this field are: To set a status decision for the process,
all 3 are required. Otherwise, no.
• Approved
• ConditionallyApproved
• Denied
The following example shows a request body that updates a region for a process:
{
"regionIds": ["NAMER","LATAM"],
}
The following example shows a request body that sets a status decision for a process:
{
"regionIds": [],
"decisionStatus": "Approved",
"decisionMadeBy": "ebrown",
"decisionComment": "All questionnaires are approved with high scores."
}
You can use the headerFields endpoint of the Supplier Data API with Pagination in combination with the External
Approval API for Sourcing and Supplier Management to both approve a process's modular questionnaires and set
its final status externally.
Related Information
Making or Updating Decisions for Process Projects Using the Supplier Data API with Pagination and the External
Approval API for Sourcing and Supplier Management [page 72]
The Supplier Data API with Pagination processes endpoints use the GET method to send a JSON request to your
site. The request retrieves header field information of all processes or header field information and decision history
of a specific process for a supplier.
For example, the following URL retrieves basic information about all processes of the supplier with SM vendor ID
S10028001:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes/?
realm=mysitename
Note
The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.
{
"vendorInfo": {
"smVendorId": "S10028001",
"erpVendorId": "VDR41050",
"anId": "null",
"acmId": "ACM_64"
},
"processes": [
{
"wid": "WS18603",
"title": "SM-ProcessFlow Intake Test",
"statusUniqueName": “Qualified”
"status": "AIn Progress",
"sourceSystem": "null",
"processId": "PI16039",
"startDate": "1642767514525",
"endDate": "null",
"projectOwner": "cnoll",
"decisionMadeOn": 1683050601128,
"matrixCriteria": {
"categoryList": [
"71",
"51"
],
"regionList": [
"USA",
"INDIA"
],
"departmentList": [
"408",
"1000"
],
"materialList": [
0
]
}
}
],
"count": 1
}
Retrieving Process Header Field Information and Process Decision History Using the Supplier Data API with
Pagination [page 74]
Retrieving Process Intake Form Details or Questionnaire Details in a Specific Version Using the Supplier Data API
with Pagination [page 75]
Updating Process Intake Form Answers Using the Supplier Data API with Pagination [page 76]
For example, the following URL retrieves all the process types in myRealm:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/processTypes?
realm=myRealm
Note
Replace {{runtime_URL}} with the desired runtime URL from the Environment details table on the SAP
Ariba developer portal discovery page for this API.
Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.
{
"status": "OK",
"statusCode": 200,
"errorMessages": [],
"warnings": [],
"debugInfo": {
"requestProcessingTime": null,
"storeProcessingTime": null
},
"moreDataAvailable": false,
"nextToken": null,
"errorsByVendor": {},
"warningMessages": null,
Related Information
Retrieving Process Header Field Information and Process Decision History Using the Supplier Data API with
Pagination [page 74]
Retrieving Process Intake Form Details or Questionnaire Details in a Specific Version Using the Supplier Data API
with Pagination [page 75]
Updating Process Intake Form Answers Using the Supplier Data API with Pagination [page 76]
For example, the following URL retrieves the intake form for the Process Type in myRealm:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
templates?realm=myRealm
Note
Replace {{runtime_URL}} with the desired runtime URL from the Environment details table on the SAP
Ariba developer portal discovery page for this API.
Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.
The following example shows a sample response for the templates endpoint:
{
"status": "OK",
"statusCode": 200,
Related Information
Retrieving Intake Form Using the Supplier Data API with Pagination [page 78]
The Supplier Data API with Pagination modularQuestionnairesRequests endpoint uses the POST method
to send a JSON request to your site. The request body contains the matrix fields categoryId, regionId,
For example, the following URL retrieves all the active modular questionnaire templates, including mandatory
templates, for the combination of Category, Region, Department) and Process Type shown further below in the
request body:
POST {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
modularQuestionnairesRequests?realm=myRealm
Note
Replace {{runtime_URL}} with the desired runtime URL from the Environment details table on the SAP
Ariba developer portal discovery page for this API.
Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.
{
"categoryIds": [
"30"
],
"regionIds": [
"EMEA"
],
"departmentIds": [
"300"
],
"materialIds": [],
],
"templateId": "WS16095921"
}
{
"status": "OK",
"statusCode": 200,
"errorMessages": [],
"warnings": [],
"debugInfo": {
"requestProcessingTime": null,
"storeProcessingTime": null
},
"moreDataAvailable": false,
"nextToken": null,
Related Information
Retrieving the List of Active Modular Questionnaires for a Process Type Using the Supplier Data API with Pagination
[page 78]
The Supplier Data API with Pagination processCreateRequests endpoint uses the POST method to send a JSON
request to your site. The request creates a process for a supplier with a given process type.
Note
If you wish to request an update, set
the requestUpdate attribute to
'true' in the request body. If you re-
quest an update for a modular ques-
tionnaire, you can choose to remind
the current recipient or invite a dif-
ferent recipient.
For example, the following URL creates a process for a supplier in myRealm:
POST {{runtime_URL}}/supplierdatapagination/v4/prod/processes/processCreateRequests?
realm=myRealm
Replace {{runtime_URL}} with the desired runtime URL from the Environment details table on the SAP
Ariba developer portal discovery page for this API.
Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.
If a process with the same matrix combination (Category, Region, and Department) does not exist, a new process
is created.
The process initiator is also the process owner, and this value is passed in the request body as shown below in the
sample request body.
The JSON request that the processCreateRequests endpoint of the Supplier Data API with Pagination sends to
your site uses the following values to specify the data you want to return in output:
{
"aribaLifeCycle": "Qualification",
"templateId": "WS16095921",
"templateProcessId": "PI875154",
"workspaceId": "",
"entityType": 0,
"processType": "Data Security",
"expiryDetail": {
"expiryOffset": null,
"expiryFrequency": "Days",
"expiryReminderOffset": null,
{
"status": "OK",
"statusCode": 200,
"errorMessages": [],
"warnings": [],
"debugInfo": {
"requestProcessingTime": null,
"storeProcessingTime": null
},
"moreDataAvailable": false,
"nextToken": null,
"errorsByVendor": {},
"warningMessages": null,
"duplicateSuppliers": []
}
Related Information
Creating a Process for a Supplier Using the Supplier Data API with Pagination [page 79]
Use of the Supplier Data API with Pagination jobs Endpoint [page 65]
The Supplier Data API with Pagination uses the PATCH method to send a JSON request to your site. The request
cancels a specific process that is in In Progress status for a specific supplier from an external system.
PATCH{{runtime_URL}}/supplierdatapagination/v4/prod/vendors/{vendorId}/processes/
{wid}?realm=myRealm
Note
Replace {{runtime_URL}} with the desired runtime URL from the Environment details table on the SAP
Ariba developer portal discovery page for this API.
Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.
{
"processCancellationRequest": {
"internalComment": "cancel this process",
"externalComment": "cancel this process",
"initiatorUniqueName": "testuser",
"initiatorPasswordAdapter": "PasswordAdapter",
"deleted": true
}
}
{
"status": "OK",
"statusCode": 202,
"errorMessages": [
{
"errorType": "",
"message": "",
"cause": "",
"resolution": "",
"errorCode": 0
}
]
}
Note
The processCancellationRequest endpoint only initiates the cancellation of the process. If you wish
to retrieve header field information, decision history, and other information about the process, use the
existing Supplier Data API with Pagination processes endpoint. This endpoint uses the GET method
to send a JSON request to your site:{{runtime_URL}}/supplierdatapagination/v4/prod/vendors/
{vendorId}/processes/{wid}.
Related Information
The Supplier Data API with Pagination versions endpoint uses the GET method to send a JSON request to your
site. The request retrieves process intake form details or questionnaire details in the latest or a specific version.
For example, the following URL retrieves questionnaire (with document ID Doc12345678) details in the latest
version:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions
Note
The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.
{
"versions": [
{
"versionId": 3,
"questionAnswer": [
{
"active": true,
"timeUpdated": 1645159731993,
"purgeState": null,
"lastTimePurgeStateUpdated": null,
"itemId": "7325",
"alternative": null,
"externalSystemCorrelationId": "KI_83610",
"processId": "PI22682",
"documentId": null,
"templateDocumentId": "Doc24008",
"searchTerm": null,
"answer": "All",
"enumerationCodeDelimiters": null,
"dataType": "String",
"multiValued": true,
"smVendorId": "S10040001",
"workspaceType": null,
Related Information
Retrieving Process Intake Form Details or Questionnaire Details in a Specific Version Using the Supplier Data API
with Pagination [page 75]
Updating Process Intake Form Answers Using the Supplier Data API with Pagination [page 76]
GET {{runtime_URL}}/ Fetches process creation status for one or more sup-
supplierdatapagination/v4/prod/ plier using the job ID.
jobs/{jobId}
Note
jobId is a value of type 'string' returned
in the response when you execute the follow-
ing endpoint to create a process for one or
more suppliers at a time:{{runtime_URL}}/
supplierdatapagination/v4/prod/
processes/processCreateRequests
For example, the following URL fetches process details for one or more suppliers in myRealm:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/jobs/{jobId}?realm=myRealm
Note
Replace {{runtime_URL}} with the desired runtime URL from the Environment details table on the SAP
Ariba developer portal discovery page for this API.
Refer to Supplier Data API with Pagination Header Parameters [page 6] for information on header parameters
and Supplier Data API with Pagination Query and Filter Parameters [page 7] for information on query and filter
parameters.
The following example shows a sample response for the jobs endpoint:
{
"jobInfo": {
"jobId": "abcd1234",
"status": "success",
"processes": [
{
"vendorInfo": {
"smVendorId": "S1234",
"erpVendorId": "VDR1234",
"anId": "acn1234",
"acmId": "string"
},
"processId": "WS1234",
"status": "In Progress",
"isRenew": true,
"processType": "Audit Process"
}
],
"matrixCriteria": {
"categoryList": [
"71",
Related Information
Use of the Supplier Data API with Pagination processCreateRequests Endpoint [page 58]
Updating Expiration Dates or Due Dates of Modular Questionnaires Using the Supplier Data API with Pagination
[page 67]
Update of a Questionnaire Using the Supplier Data API with Pagination [page 68]
Retrieval of Certificate Attachments from Supplier Management Questionnaires Using the Supplier Data API
with Pagination and the External Approval API for Sourcing and Supplier Management [page 70]
Development of a Client Application for External Approval of Modular Questionnaires in Process Projects [page
71]
Making or Updating Decisions for Process Projects Using the Supplier Data API with Pagination and the
External Approval API for Sourcing and Supplier Management [page 72]
Retrieving Process Header Field Information and Process Decision History Using the Supplier Data API with
Pagination [page 74]
Retrieving Process Intake Form Details or Questionnaire Details in a Specific Version Using the Supplier Data
API with Pagination [page 75]
Updating Process Intake Form Answers Using the Supplier Data API with Pagination [page 76]
Retrieving Intake Form Using the Supplier Data API with Pagination [page 78]
Retrieving the List of Active Modular Questionnaires for a Process Type Using the Supplier Data API with
Pagination [page 78]
Creating a Process for a Supplier Using the Supplier Data API with Pagination [page 79]
Prerequisites
• To update the expiration date of a modular questionnaire, the modular questionnaire must be in the Approved
status.
• To update the due date of a modular questionnaire, the modular questionnaire must be in the in progress
status.
Context
Updating the expiration date doesn't change the existing expiration schedule. The system recalculates the new
expiration date based on the expiration schedule on the next approval of the modular questionnaire.
Note
In the sample URLs in this topic, replace {{runtime_URL}} with the desired runtime URL from the
Environment details table on the SAP Ariba developer portal discovery page for this API.
Procedure
1. Use the questionnaire endpoint to request document IDs of modular questionnaires. For example, to return
details of all modular questionnaires for the supplier with SM vendor ID S10028001:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaire
2. Use the questionnaires/{questionnaireId} endpoint to post an update to the expiration date or due
date of a modular questionnaire. For example, to update the expiration date or due date of the modular
questionnaire with document ID Doc12345678:
PATCH {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/
workspaces/questionnaires/Doc12345678
If the expiration date is updated, the expiration date is displayed in the supplier 360º profile, and the modular
questionnaire expires on a new date which is calculated based on the existing expiration schedule on the next
approval of the modular questionnaire.
If the due date is updated, the due date is displayed in the supplier interface, and the supplier must answer the
modular questionnaire by the end of the new date. Otherwise, the modular questionnaire is closed.
Related Information
Use of the Supplier Data API with Pagination questionnaires Endpoint [page 36]
Note
In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.
1. Use the vendors endpoint to request the SM Vendor IDs for your suppliers. For example, to return data for
all suppliers:
GET {{runtime_URL}}supplierdatapagination/v4/prod/vendorDataRequests/?
realm={{realmName}}
2. Use the qna endpoint to request questionnaire details for a supplier, including the project workspaceId,
questionnaire questionnaireId, and question externalSystemCorrelationId for each question. For
example, to get all questions and answers in all questionnaires in all projects for a supplier::
GET {{runtime_URL}}supplierdatapagination/v4/prod/vendors/S11284494/workspaces/
questionnaires/qna
3. Use the answers endpoint to post an update to one or more questions, passing the questionnaire
questionnaireId in the post URL as follows:
POST {{runtime_URL}}supplierdatapagination/v4/prod/vendors/S1128494/workspaces/
questionnaires/Doc12345678/answers/?realm={{realmName}}
{"answers": [
{
"externalSystemCorrelationId": "KI_1694841",
"Answer": "New answer"
"triggerApprove": true
}
]},
]}
• To add or update an attachment, pass its 64-bit encoded content in the fileContents field in the
answers block:
{"answers": [ {
"externalSystemCorrelationId": "KI_1694841",
"attachmentAnswer":
{
"fileName":"Attachment.csv",
"mimeType":"application.csv",
"fileSize":221725,
"fileContents":"64 bit encoded value"
}
} ] }
• To add or update an instance of a repeatable section, pass the number of the section instance in the
alternative field:
{"answers": [
{
"externalSystemCorrelationId":"KI_1694841",
"alternative":"4",
"answer":"New answer"
},
]}
Use the alternative number of an existing section to update its answer. To add a new instance of the
repeatable section, increment the highest alternative in the section by 1. For example, if an existing
repeatable section has 3 instances, the alternative of the third instance is 2. Therefore, to add a new
instance, specify an alternative of 3 in the answers block.
• For modular questionnaires and registration questionnaires only, to trigger any approval tasks in the
current phase of the questionnaire so that approvers must approve the update, pass a triggerApprove
value of true after the answers block:
{
"answers": [
{
"externalSystemCorrelationId": "KI_9951113",
"answer": "New answer"
}
],
"triggerApprove" : true
}
If triggerApprove is false or isn't present in the request, or if the questionnaire is of a type other
than modular questionnaire or registration questionnaire, the request automatically updates the specified
answers without starting any approval tasks.
Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]
Use of the Supplier Data API with Pagination qna Endpoint [page 39]
Use of the Supplier Data API with Pagination answers Endpoint [page 41]
This topic explains how to retrieve certificate attachments from supplier management questionnaires.
Prerequisites:
• Obtain separate application keys for both the Supplier data API with Pagination and External Approval API for
Sourcing and Supplier Management.
• Complete prerequisites for use of these two APIs.
Note
The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.
1. Use the vendorDataRequests endpoint to retrieve the SM vendor IDs for suppliers. For example:
GET {{runtime_URL}supplierdatapagination/v4/prod/vendorDataRequests/?
realm=mysitename
GET {{runtime_URL}supplierdatapagination/v4/prod/vendors/SM100015/certificates/?
realm=mysitename
GET {{runtime_URL}}supplierdatapagination/v4/prod/vendors/SM100015/workspaces/
WS9050423/questionnaires/qna/?realm=mysitename
GET {{runtime_URL}}/entity.svc/RFXDcoument/Doc7940301?realm=mysitename
GET {{runtime_URL}}/entity.svc/RFXDcoument/Doc7940301/attachments/
Doc7940301,AANcAe2G2!4WA,AANcAH42!4Wg&realm=mysitename
Related Information
Use of the Supplier Data API with Pagination qna Endpoint [page 39]
Use of the Supplier Data API with Pagination certificates Endpoint [page 44]
Use of the Supplier Data API with Pagination vendorDataRequests Endpoint [page 14]
This topic explains how to develop a client application that uses the Supplier Data API with Pagination and
the External Approval API for Sourcing and Supplier Management to enable external approval of modular
questionnaires in process projects.
Note
In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.
The following workflow describes API-based external approval of modular questionnaires in process projects.
1. A template creator in your organization enables API-based external approval in the process project template.
This enablement includes creating a placeholder approval task on the process project intake form and
specifying the external tasks for modular questionnaires that will use API-based external approval as
predecessors.
2. In the process project framework, completion of approvals for predecessors triggers API-based approval for
those modular questionnaires for which it is enabled.
3. The client application uses the GET vendors/{vendorId}/processes/{wid} endpoint to get the process
project workspace ID.
GET {{runtime_URL}}/sourcingapproval/v1/prod/Workspace/WS1312882411?
realm=mysitename
5. The client application uses these IDs to retrieve questionnaire details, attachments, completed approvals, and
other information for the linked modular questionnaires. The output of the GET /Workspaces/ endpoint for
the linked modular questionnaires includes the document ID of the intake form in the associated process
project. For example:
"entityType": "RFXDocument",
"projectItemType": "Document",
"isProcessIntakeForm": true,
"format": "Questionnaire",
"title": "Strategic Qualification Intake Form",
"version": "v1",
"aribaType": "ariba.sourcing.rfx.RFXDocument",
"workspaceTitle": "Strategic Qualification Process",
"id": "Doc13138903",
Prerequisites
• Obtain separate application keys for both the Supplier data API with Pagination and External Approval API for
Sourcing and Supplier Management.
• Complete prerequisites for use of these two APIs.
Note
In the sample URLs in this topic, replace {{runtime_url}} with the desired runtime URL from the
Environment Details table on the SAP Ariba developer portal discovery page for this API.
Procedure
Using the External Approval API to get the SM vendor ID and workspace ID
1. Get the task ID of the process project approval task by using the GET /pendingApprovables endpoint.
2. Request task details by using the GET /Task/{entity_id} endpoint.
entity_id: specifies the task ID obtained using the GET /pendingApprovables endpoint.
3. Get the workspace ID of the process project from the task details.
For example:
GET {{runtime_URL}}/Sourcing/v2/entity.svc/Workspace/WS17840?realm=mysitename
Note
In the response of GET /{entity_type}/{entity_id}, you can also get the decision-maker group,
which needs to be filled in the decisionMadeBy field.
Using the Supplier Data API with Pagination headerFields endpoint to make or update a decision
5. Make a decision or update an existing decision status by using the /{vendorId}/workspaces/
{workspaceId}/headerFields endpoint.
For example:
GET {{runtime_URL}}/SM/rest/supplierdatapagination/v4/prod/vendors/S1006001/
workspaces/WS17840/headerFields?realm=mysitename
The following example shows the JSON request for making a decision or updating an existing decision status:
{
"regionIds": [],
"materialIds": [],
Users need to specify the decisionStatus, decisionMadeBy, and decisionComment fields and leave
regionIds and materialIds empty. For details about the field description, refer to the table in Use of the
Supplier Data API with Pagination headerFields Endpoint [page 50].
6. Decision-makers complete decision-making in the external system.
7. The decision-making results and comments are sent to your site.
Related Information
Use of the Supplier Data API with Pagination headerFields Endpoint [page 50]
This topic explains how to use the processes endpoints to retrieve process header field information and process
decision history.
Prerequisites
You already have the SM vendor ID of the supplier whose process header field information is to be retrieved.
Procedure
1. Use the processes endpoint to request all workspace IDs for a supplier. For example, to return header field
information about all processes for the supplier with SM vendor ID S10028001:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes
2. Use the processes/{wid} endpoint to request header field information and decision history for a process.
For example, to return header field information for the process with workspace ID WS19708:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processs/
WS19708
The process header field information and decision history are displayed in the response.
Related Information
Use of the Supplier Data API with Pagination processes Endpoint [page 51]
Prerequisites
You already have the SM vendor ID of the supplier whose information is to be retrieved.
Procedure
1. Use the processes endpoint to request all process IDs for a supplier. For example, to return basic information
about all processes for the supplier with SM vendor ID S10028001:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes
2. Use the processes/{wid} endpoint to request the documentation ID of the process intake form or
questionnaire. For example, to return details for the process with workspace ID WS19708:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes/
WS19708
3. Use the versions endpoint to request intake form details or questionnaire details in the latest version. For
example, to return details of the intake form with document ID Doc12345678 for the supplier with SM vendor
ID S10028001:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions
The process intake form details in the latest version are returned in the response. According to the latest
version ID, you can know the number of versions that the intake form has.
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions/3
Results
Intake form details or questionnaire details in the specific version are displayed in the response.
Related Information
Use of the Supplier Data API with Pagination processes Endpoint [page 51]
Use of the Supplier Data API with Pagination versions Endpoint [page 63]
Prerequisites
The supplier management process to be updated must be in the pending decision or the decided status (approved,
denied, or conditionally approved).
You already have the SM vendor ID of the supplier whose process intake form answers are to be updated.
Context
The category, region, and department values cannot be updated. If you change any of the values, an error is
returned.
Note
In the sample URLs in this topic, replace {{runtime_URL}} with the desired runtime URL from the
Environment details table on the SAP Ariba developer portal discovery page for this API.
1. Use the processes endpoint to request all workspace IDs for a supplier. For example, to return basic
information about all processes for the supplier with SM vendor ID S10028001:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes
2. Use the processes/{wid} endpoint to request the documentation ID of the process intake form for a specific
process. For example, to return details for the process with workspace ID WS19708:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processs/
WS19708
3. Use the versions endpoint without specifying any version ID in the request body to request intake form
details in the latest version. For example, to return details of the intake form with document ID Doc12345678
for the supplier with SM vendor ID S10028001:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions
The process intake form details in the latest version are returned in the response. According to the latest
version ID, you can know the number of versions that the intake form has.
4. Optional: Use the versions/{versionId} endpoint to request intake form details in a specific version, for
example, version 3.
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions/3
5. Use the answers endpoint to post an update to answers in the intake form. For example, to update answers in
intake form with document ID Doc12345678:
POST {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/answers
After a successful update, a new version of the process intake form is created.
Results
Buyers can view the intake form details of the latest version in the supplier 360º profile.
Related Information
Use of the Supplier Data API with Pagination processes Endpoint [page 51]
Use of the Supplier Data API with Pagination versions Endpoint [page 63]
Use of the Supplier Data API with Pagination answers Endpoint [page 41]
This topic explains how to use the Supplier Data API with Pagination to retrieve the intake form for a process type.
Procedure
1. The client application retrieves the list of processes using the processes/processTypes endpoint. For
example, to return a list of processes in your site:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/processTypes
2. The client application retrieves the intake form for the process type using the processes/{processType}/
templates endpoint. For example, to retrieve the intake form:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
templates
Results
The intake form for the process type is displayed in the response.
This topic explains how to use the Supplier Data API with Pagination to retrieve the list of modular
questionnaire templates for a process type. The request body contains the matrix fields categoryId, regionId,
departmentId, and templateId. All the active modular questionnaire templates, including mandatory
templates, for this combination are returned.
Procedure
1. The client application retrieves the list of processes using the processes/processTypes endpoint. For
example, to return a list of processes in your site:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/processTypes
POST {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
modularQuestionnairesRequests
Results
The modular questionnaire templates for the specified matrix combination and process type are displayed in the
response.
This topic explains how to use the Supplier Data API with Pagination to create a process for a supplier.
Procedure
1. The client application retrieves the supplier ID and supplier contact information using the endpoint
vendorDataRequest. In general, it returns the data specified in request body filters for all suppliers, with
or without IDs for their associated questionnaires
2. The client application retrieves the list of processes using the processes/processTypes endpoint. For
example, to return a list of processes in your site:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/processTypes
3. The client application retrieves the intake form for the process type using the processes/{processType}/
templates endpoint. For example, to retrieve the intake form:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
templates
4. The client application retrieves the modular questionnaire templates for the specified matrix combination
and process type using the processes/{processType}/modularQuestionnairesRequests endpoint.
For example:
POST {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
modularQuestionnairesRequests
POST {{runtime_URL}}/supplierdatapagination/v4/prod/processes/{processType}/
processCreateRequests
Results
This topic explains how to use the Supplier Data API with Pagination to download attachments from process intake
forms or modular questionnaires.
Prerequisites
• To create an application and request access to use the SAP Ariba APIs relevant to this feature, you must have
access to the SAP Ariba developer portal. For details refer to Steps to Start Using the SAP Ariba APIs in Help
for the SAP Ariba Developer Portal.
• All queries made to this API must be authenticated using OAuth authentication. For details refer to SAP Ariba
Developer Portal Authentication in Help for the SAP Ariba Developer Portal.
• You have or obtain the SM vendor ID of the supplier whose information is to be retrieved.
Note
The runtime URL varies based on your data center. Replace {{runtime_URL}} with the desired runtime URL
from the Environment details table on the SAP Ariba developer portal discovery page for this API.
Procedure
1. Use the processes endpoint to request all process IDs for a supplier. For example, to return basic information
about all processes for the supplier with SM vendor ID S10028001:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/processes/
WS19708
3. Use the versions endpoint to request intake form details or questionnaire details in the latest version. For
example, to return details of the intake form with document ID Doc12345678 for the supplier with SM vendor
ID S10028001:
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions
The process intake form details in the latest version are returned in the response. According to the latest
version ID, you can know the number of versions that the intake form has.
4. Optional: Use the versions/{versionId} endpoint to request intake form details or questionnaire details in
a specific version, for example, version 3.
GET {{runtime_URL}}/supplierdatapagination/v4/prod/vendors/S10028001/workspaces/
questionnaires/Doc12345678/qna/versions/3
5. Use the /{entity_type}/{entity_id} endpoint to retrieve the details for the intake form or questionnaire,
including any attachment IDs. For example, you can retrieve attachment id Doc12345678, AANcAe2G2!4WA,
AANcAH42!4Wg.
GET {{runtime_URL}}/entity.svc/RFXDcoument/Doc12345678
GET {{runtime_URL}}/entity.svc/RFXDcoument/Doc12345678/attachments/
Doc12345678,AANcAe2G2!4WA,AANcAH42!4Wg
Results
The attachment is downloaded from the specified intake from or modular questionnaire.
This topic describes error messages that might be generated for all Supplier Data API with Pagination endpoints as
well as error messages specific to the headerFields endpoint.
Use this information to troubleshoot your queries to the Supplier Data API with Pagination endpoints.
400 The API key passed in the request is not The API key passed in the query headers
valid. does not match the API key in the OAuth
token.
429 Rate limit error You have exceeded the maximum permit-
ted query rate. Refer to the developer
portal discovery page for this API for the
applicable query rates.
431 Version not found The version you entered doesn't exist.
This error message can be returned when
you run the versionId endpoint.
504 Gateway Time-out The server timeout time has been ex-
ceeded, possibly due to network traffic or
reliability issues. Retry your query.
Error Messages Returned by the Supplier Data API with Pagination headerFields Endpoint
Use this information to troubleshoot issues you encountered when making or updating decisions for process
projects by using the Supplier Data API with Pagination headerFields endpoint.
400 Invalid process status: testStatus. The value testStatus you input for the
decisionStatus field is not one of the values you
defined for the master data ProjectStatus.
400 The user is not in the Decision The value tester you input for the decisionMadeBy
Maker group configured in the field in not one of the values in the Decision Maker
process template: tester. group in the process template.
400 Maximum limit for 'decisionComment' The comments you input for the decisionComment
attribute is 255 characters. field exceed 255 characters.
400 Making or changing a decision is The current process project is processing and you cannot
not allowed in the current process make a decision.
status: InProgress
400 Missing or invalid workspaceId The entered workspace ID is invalid. You need to enter a
valid workspace ID.
400 Invalid SM Vendor Id The entered SM vendor ID is invalid. You need to enter a
valid SM vendor ID.
404 Workspace %s Not Found. The workspace ID is not specified. You need to enter a
valid workspace ID.
The Supplier Data API with Pagination has multiple versions, only one of which is active at this time. Previous
versions are deprecated and might be decommissioned at a later date.
Note
This version is called the Supplier
Data API and has different endpoints
and a separate discovery page on the
SAP Ariba developer portal.
The Questionnaires API, which is only available in some data centers, and which was replaced by the Supplier Data
API with Pagination, is also deprecated as of the 2002 (Q1 2020) release.
Related Information
The SAP Ariba developer portal included in the SAP Ariba APIs product and the APIs made available on this site are
provided solely at the discretion of SAP without warranty of any kind, and SAP may change, suspend, or cancel any
or all features or functions of the SAP Ariba APIs product or revise the website at any time. Any production use of
or commercialization of applications containing any APIs provided on this website is prohibited without a written
agreement between your company and SAP governing such activities.
Access to this API is available to you as a subscriber to this solution as part of the SAP Cloud Service Level
Agreement. However, it is not considered part of the solution. Use of this API is purely optional and is subject to
restrictions stated in the documentation, including the Terms of Use and the documentation found at the SAP
Ariba developer portal (see https://developer.ariba.com/api ). If you wish to connect a third-party service using
this API, first confirm that the company is participating in the SAP partner program and is authorized to provide a
connection to this solution using this API. You will be required to submit written consent to SAP to authorize the
exchange of data with the third-party service.
Hyperlinks
Some links are classified by an icon and/or a mouseover text. These links provide additional information.
About the icons:
• Links with the icon : You are entering a Web site that is not hosted by SAP. By using such links, you agree (unless expressly stated otherwise in your agreements
with SAP) to this:
• The content of the linked-to site is not SAP documentation. You may not infer any product claims against SAP based on this information.
• SAP does not agree or disagree with the content on the linked-to site, nor does SAP warrant the availability and correctness. SAP shall not be liable for any
damages caused by the use of such content unless damages have been caused by SAP's gross negligence or willful misconduct.
• Links with the icon : You are leaving the documentation for that particular SAP product or service and are entering an SAP-hosted Web site. By using such links,
you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this information.
Example Code
Any software coding and/or code snippets are examples. They are not for productive use. The example code is only intended to better explain and visualize the syntax and
phrasing rules. SAP does not warrant the correctness and completeness of the example code. SAP shall not be liable for errors or damages caused by the use of example
code unless damages have been caused by SAP's gross negligence or willful misconduct.
Bias-Free Language
SAP supports a culture of diversity and inclusion. Whenever possible, we use unbiased language in our documentation to refer to people of all cultures, ethnicities, genders,
and abilities.