Coupa REST API Integration

Revised: 21 February 2020

Introduction

API authentication requests require a unique API key, generated in Coupa.

All API requests must pass an X-COUPA-API-KEY header with an API key.  A key can be created from the API Keys section of the Administration tab by an admin user. The key is a 40-character long case-sensitive alphanumeric code. The API key is associated with an API user who is the equivalent of an admin user in Coupa. Any changes to resources via the API are attributed to the API user.

In addition to the key, all API requests must also pass the ACCEPT header with value set to application/xml.

Using the Coupa API, you can execute advanced queries to quickly identify and pull the data that you require.

See Querying Options for more info.

The Coupa API allows certain operators and arguments to be used, for example, GET Supplier based on Name (prefix, suffix, and so on) or Creation Date.

See API Operators and Arguments for more info.

Best Practices

  • Shallow API formats can be used on API calls to limit API response payload. The Coupa API returns a lot of data, by default, for example, full objects for associations. This results in return values that can be huge and thus can cause performance degradation. This can be a problem for customers that do not need the extraneous data; not to mention the unnecessary consumption of resources. To better serve our customer's needs, Coupa added the return_object=limited command that returns a limited XML response instead of the entire schema for an object.
  • Update the Integration History Record and the Integration Run objects for each API call (success/failure), so that all transactions are recorded and searchable in Coupa logs.

For more info on Integration History Records and Integration Run usage, see the following topics:

Finally, for more info on REST API integrations, see The Coupa API.