Retrieve Records with Attributes
In MYOB Acumatica, some records have attributes that are visible on the Attributes tab of the data entry form. For details about attributes, see Attributes.
You may have to retrieve the records along with their attributes by using the
contract-based REST API. To do this, you access the needed URL with the
GET
HTTP method, and in the parameters of the request, you
specify the desired record fields and the fields that correspond to the needed
attributes and attribute values. See the following sections for details on the
request and the response.
HTTP Method and URL
When you retrieve records from MYOB Acumatica, you use the GET
HTTP method and the following
URL.
http://<Base endpoint URL>/<Top-level entity>
In this URL:
<Base endpoint URL>
is the URL of the contract-based endpoint through which you are going to work with MYOB Acumatica, which has the following format:http://<MYOB Acumatica instance URL>/entity/<Endpoint name>/<Endpoint version>/
.<Top-level entity>
is the name of the entity for which you are going to retrieve the list of records along with their attributes.
For example, suppose that you want to retrieve the list of contacts along with their attributes from a local MYOB Acumatica instance with the name AcumaticaDB, and you want to use the system endpoint with the name Default and Version 23.200.001. You would use the following URL.
http://localhost/AcumaticaDB/entity/Default/23.200.001/Contact
Parameters
- $select: To list the desired record fields and the fields that correspond to the needed attributes and attribute values
- $expand: To expand the detail entity that contains the fields that correspond to the attributes and attribute values
You can also use other parameters that are mentioned in Retrieve Records by Conditions. For detailed descriptions of the parameters, see Parameters for Retrieving Records.
Request Headers
You can specify the following header in the request.
Header | Description |
---|---|
Accept |
Specifies the format of the response body, which should be application/json. |
Response Status Codes
The following table lists the HTTP status codes that the system returns for a request that retrieves records along with their attributes.
Code | Description |
---|---|
200 | The request has been completed successfully. The response body contains the data retrieved from the MYOB Acumatica instance in JSON format. |
400 |
The data specified in the request is invalid. |
401 |
The user is not signed in to the system. |
403 |
The user has insufficient rights to access the MYOB Acumatica form that corresponds to the entity. |
429 |
The number of requests has exceeded the limit imposed by the license (see License Restrictions for API Users). |
500 |
An internal server error has occurred. |
Example
<MYOB Acumatica instance URL>
is the URL of the MYOB Acumatica
instance (such as https://my.acumatica.com/MyInstance). You can omit the instance
name in the URL (that is, you can use https://my.acumatica.com) if the instance
is installed in the root of the website.GET ?$expand=Attributes&$select=FirstName,LastName,JobTitle,Attributes/AttributeID,Attributes/Value HTTP/1.1
Host: [<MYOB Acumatica instance URL>]/entity/Default/23.200.001/Contact
Accept: application/json
[
...
{
"id": "6a47c888-0b10-e911-9fbe-7c5cf8918e20",
"rowNumber": 20,
"note": {
"value": ""
},
"Attributes": [
{
"id": "dfe79fb3-b6a0-43a9-afa2-6641b943424d",
"rowNumber": 1,
"note": null,
"AttributeID": {
"value": "INTEREST"
},
"Value": {},
"custom": {}
}
],
"FirstName": {
"value": "Stephane"
},
"JobTitle": {
"value": "Customer Service & Network Manager"
},
"LastName": {
"value": "Sans"
},
"custom": {}
},
...
]
Usage Notes
- AttributeID : The attribute identifier. Both internal values and external values can be used to set this field, but only the internal value can be retrieved.
- AttributeDescription: The external value of the attribute identifier. The field is read-only.
- Value: The attribute value. When the value is retrieved,
the internal value is returned. To set the value, the internal value and the
external value (for control types other than multiselect combo boxes) can be
used. For multiselect combo boxes, an external value can be accepted only if
it contains a single value without commas. For various control types, the
following rules apply to the Value field:
- For check boxes, 0 is returned if the check box is not selected, and 1 is returned if the check box is selected. For setting a value, 0, 1, false (case-insensitive), or true (case-insensitive) can be used.
- For multiselect combo boxes, values separated by commas (namely, Value1,Value2,Value3) compose the internal value.
- For selectors, the values are set and retrieved in the same way as they are for text boxes.
- For date edit boxes, the internal values must be parsable through the use of the System.Globalization.CultureInfo.InvariantCulture Microsoft .NET object.
- For combo boxes of all types, date edit boxes, and check boxes, an error message is written to the error field when an attempt is made to set an unsupported value.
- ValueDescription: The external value of the attribute.
The field is read-only. The external value is based on the control type as
follows:
- For text boxes and date edit boxes, the external value is the same as the internal value.
- For check boxes, the external value can be either True or False.
- For combo boxes, the label is used as the external value.
- For multiselect combo boxes, labels separated by commas and spaces after commas (namely, Label1, Label2, Label3) compose the external value.
- Required: An indicator of whether the attribute is mandatory. This field is read-only.
- RefNoteID: The value of the NoteID field of the object to which this attribute is referred. This field is read-only.