Skip to main content
Solved

Is it possible to retrieve drop down value label data through OData?

  • May 21, 2026
  • 2 replies
  • 25 views

I have a TypeScript type generator which generates type from the ODataV4 $metadata XML. However, I wanted the type generated for certain fields like Status an enum or even just union of the possible values instead of simply “string”. I am unable to achieve this at the moment as I’m not sure where I can get the dropdown values from the built in DACs. I am referring to this kind of information when you inspect dropdown fields:

Would appreciate any pointers on how to fetch this information. Thank you!

Best answer by FarhanaM60

OData $metadata in Acumatica only exposes the data schema (field names, types, etc.) and does not include UI-level attributes like dropdown values.

 

The values you see in dropdowns (e.g., Status = N, H, P, etc.) are defined in the DAC using attributes such as PXStringList or PXIntList, which are part of the application layer and are not exposed through OData or standard REST endpoints.

Because of this, there isn’t a direct way to retrieve these values from $metadata. Common approaches are:

Maintain the mapping on the client side (e.g., TypeScript enums/unions), or

Expose the values via a custom endpoint or Generic Inquiry if you need them dynamically.

So, in short, this is a limitation of OData metadata in Acumatica rather than something missing in your implementation.

The values you showed:

 

N → Open

H → On Hold

P → Pending Approval

 

These are defined in DAC using:

 

[PXStringList(new[] { "N", "H", "P", ... },

new[] { "Open", "On Hold", "Pending Approval", ... })]

 

This exists only in server-side C# (DAC / attributes)

Not exposed in:

->OData metadata

->REST endpoint

 

Create a Generic Inquiry (Practical)

Create GI with:

Hardcoded values (or lookup table if exists)

Expose via OData

 

Then your TS generator can consume it

2 replies

Forum|alt.badge.img+1
  • Semi-Pro III
  • Answer
  • May 22, 2026

OData $metadata in Acumatica only exposes the data schema (field names, types, etc.) and does not include UI-level attributes like dropdown values.

 

The values you see in dropdowns (e.g., Status = N, H, P, etc.) are defined in the DAC using attributes such as PXStringList or PXIntList, which are part of the application layer and are not exposed through OData or standard REST endpoints.

Because of this, there isn’t a direct way to retrieve these values from $metadata. Common approaches are:

Maintain the mapping on the client side (e.g., TypeScript enums/unions), or

Expose the values via a custom endpoint or Generic Inquiry if you need them dynamically.

So, in short, this is a limitation of OData metadata in Acumatica rather than something missing in your implementation.

The values you showed:

 

N → Open

H → On Hold

P → Pending Approval

 

These are defined in DAC using:

 

[PXStringList(new[] { "N", "H", "P", ... },

new[] { "Open", "On Hold", "Pending Approval", ... })]

 

This exists only in server-side C# (DAC / attributes)

Not exposed in:

->OData metadata

->REST endpoint

 

Create a Generic Inquiry (Practical)

Create GI with:

Hardcoded values (or lookup table if exists)

Expose via OData

 

Then your TS generator can consume it


  • Author
  • Freshman I
  • May 22, 2026

@FarhanaM60 Thank you for the explanation. That should be alright, I was just hoping there’s still something I’d missed. I guess I’ll just fill this in manually which I don’t mind.