Custom Object API (/custom_objects/id)
Introduction
Use the Custom Objects API to create, update, or query the data records for your Custom Objects. If you need to define a new Custom Object, use the UI.
The URL to access the Custom Objects API is:
https://<instance>/api/custom_objects/{object_id}
See Integration Best Practices for more info.
Actions
| Verb | Path | Action | Description |
|---|---|---|---|
| POST |
/api/custom_objects/{object_id}/object_instances/
|
create | Create a new data record for the Custom Object |
| PUT |
/api/custom_objects/{object_id}/object_instances/{instance_id}
|
update | Modify an existing data record |
| GET |
/api/custom_objects/{object_id}/object_instances/
|
index | Lists all of the data records for the Custom Object |
| GET |
/api/custom_objects/{object_id}/object_instances/{instance_id}
|
show | Lists an individual data record |
Elements (Object Instance)
| Element | Description | Req'd | Unique | Allowable Value | In | Out | Data Type |
|---|---|---|---|---|---|---|---|
| created-at | Automatically created by Coupa in the format YYYY-MM-DDTHH:MM:SS+HH:MMZ | any | yes | datetime | |||
| created-by | User who created | any | yes | User | |||
| custom-object-code | Custom object code | any | yes | string | |||
| custom-object-name | Custom object name | any | yes | string | |||
| form-response-id | ID of form response that created the instance | any | yes | integer | |||
| id | Coupa Internal ID | any | yes | integer | |||
| updated-at | Automatically created by Coupa in the format YYYY-MM-DDTHH:MM:SS+HH:MMZ | any | yes | datetime | |||
| updated-by | User who updated | any | yes | User |
Sample Payloads
Since a Custom Object is made entirely of custom fields, you need to contain your custom
fields in the custom-field namespace. A basic POST or PUT should take this
form:
<object-instance>
<custom-fields>
<custom-field-1>custom-field-1-value</custom-field-1>
<custom-field-2>custom-field-2-value</custom-field-2>
...
<custom-field-10>custom-field-10-value</custom-field-10>
<custom-fields>
</object-instance>