Lookup table type REST endpoint

Last modified 22 May 2026 09:33 +02:00

Description

This article describes the lookupTables REST API endpoint. The endpoint serves to create, read, update, delete, and list lookup tables.

Endpoint
lookupTables/

Operations and examples

The lookupTables endpoint operations and examples.

In our examples, we use credential authentication using the name administrator and password y0uR_P455woR*d on a midPoint localhost instance running on port 8080.

Refer to the following article for help regarding usage of the REST examples:

Create lookupTable type object

Get lookupTable type objects

Get operation for fetching a single specific object.

Example: get the languages lookup table
curl --user administrator:y0uR_P455woR*d \
    -H "Accept: application/json" \
    -H "Content-Type: application/json" \
    -X GET \
    http://localhost:8080/midpoint/ws/rest/lookupTables/00000000-0000-0000-0000-000000000200 (1)
1 The OID specifies the table to fetch.
How to fetch rows with data

By default, the API returns the table rows empty with "@incomplete": true identifying that the row data have been omitted.

To force the API to return data in the rows, use the include=row query string parameter:
http://localhost:8080/midpoint/ws/rest/lookupTables/search?include=row

Search for lookupTable type objects

Search operation usable for fetching the full list of objects or a list based on filter. The empty query filter matches all objects.

Show data source example for "Search for all" | GitHub
{
  "query" : ""
}

The response is an HTTP 200 code in case of success with a response body containing the queried items.

Example Output is a list of objects.
{
  "@ns" : "http://prism.evolveum.com/xml/ns/public/types-3",
  "object" : {
    "@type" : "http://midpoint.evolveum.com/xml/ns/public/common/api-types-3#ObjectListType",
    "object" : [ {
      "@type" : "",
      "oid" : "",
      "version" : "",
      "name" : "",
      "metadata" : {},
      "operationExecution": {},
      "indestructible": ,
      "iteration" : ,
      "iterationToken" : "",
      "archetypeRef": {},
      "roleMembershipRef": {},
      "activation": {}
    }, {
      "@type" : "",
      "oid" : "",
      "version" : "",
      "name" : "",
      "metadata" : {},
      "operationExecution": {},
      "indestructible": ,
      "iteration" : ,
      "iterationToken" : "",
      "archetypeRef": {},
      "roleMembershipRef": {},
      "activation": {}
    } ]
  }
}

Modify lookupTable type objects

Delete lookupTable type objects

Generate and Validate Operations for Lookup Table objects

Operations to generate or validate values.

Query and response examples

Here are example queries for the lifecycle states lookup table and their outputs. Metadata are removed from the outputs here.

Get the lifecycle states lookup table without its row data
http://localhost:8080/midpoint/ws/rest/lookupTables/00000000-0000-0000-0000-000000000230
Show JSON reponse
{
	"lookupTable": {
		"oid": "00000000-0000-0000-0000-000000000230",
		"version": "1",
		"name": "Lifecycle States",
		"metadata": {},
		"operationExecution": {},
		"iteration": 0,
		"iterationToken": "",
		"row": {
			"@incomplete": true
		}
	}
}

To get the lookup table with the row data, you need to use the include=row parameter:

Get the lifecycle states lookup table with its row data
http://localhost:8080/midpoint/ws/rest/lookupTables/00000000-0000-0000-0000-000000000230?include=row
Show JSON reponse
{
  "lookupTable" : {
    "oid" : "00000000-0000-0000-0000-000000000230",
    "version" : "0",
    "name" : "Lifecycle States",
    "iteration" : 0,
    "iterationToken" : "",
    "row" : [ {
      "@ns" : "http://prism.evolveum.com/xml/ns/public/types-3",
      "@id" : 1,
      "key" : "draft",
      "label" : "Draft"
    }, {
      "@ns" : "http://prism.evolveum.com/xml/ns/public/types-3",
      "@id" : 2,
      "key" : "proposed",
      "label" : "Proposed"
    }, {
      "@ns" : "http://prism.evolveum.com/xml/ns/public/types-3",
      "@id" : 3,
      "key" : "active",
      "label" : "Active"
    }, {
      "@ns" : "http://prism.evolveum.com/xml/ns/public/types-3",
      "@id" : 4,
      "key" : "suspended",
      "label" : "Suspended"
    }, {
      "@ns" : "http://prism.evolveum.com/xml/ns/public/types-3",
      "@id" : 5,
      "key" : "deprecated",
      "label" : "Deprecated"
    }, {
      "@ns" : "http://prism.evolveum.com/xml/ns/public/types-3",
      "@id" : 6,
      "key" : "archived",
      "label" : "Archived"
    }, {
      "@ns" : "http://prism.evolveum.com/xml/ns/public/types-3",
      "@id" : 7,
      "key" : "failed",
      "label" : "Failed"
    } ]
  }
}
Was this page helpful?
YES NO
Thanks for your feedback