Skip to main content
POST
/
digester
/
{session_id}
/
classes
Extract Object Classes
curl --request POST \
  --url https://api.example.com/digester/{session_id}/classes \
  --header 'Content-Type: application/json' \
  --data '
{
  "objectClasses": [
    {}
  ],
  "data": {}
}
'
{
  "jobId": "<string>",
  "status": "<string>",
  "result": {
    "result.objectClasses": [
      {
        "result.objectClasses[].name": "<string>",
        "result.objectClasses[].relevant": "<string>",
        "result.objectClasses[].superclass": "<string>",
        "result.objectClasses[].abstract": true,
        "result.objectClasses[].embedded": true,
        "result.objectClasses[].description": "<string>",
        "result.objectClasses[].relevantChunks": [
          {}
        ]
      }
    ]
  }
}
Extract object classes (e.g., User, Group, Role, Permission) from documentation stored in or uploaded to the session. Object classes represent first-class identity/access management domain concepts.

Request

session_id
string
required
Session ID (UUID format)
filter_relevancy
boolean
default:"true"
Filter object classes by relevancy to IGA/IDM domain
min_relevancy_level
string
default:"high"
Minimum relevancy level. Options: low, medium, high
use_previous_session_data
boolean
default:"true"
Whether to use previous session data if available

Response

Returns a job ID to poll for results.
jobId
string
Job ID (UUID) to track extraction progress

Example Request

curl -X POST "https://api.example.com/digester/550e8400-e29b-41d4-a716-446655440000/classes?filter_relevancy=true&min_relevancy_level=high" \
  -H "Authorization: Bearer YOUR_TOKEN"

Example Response

{
  "jobId": "123e4567-e89b-12d3-a456-426614174000"
}

Get Object Classes Status

Get the status and results of the object classes extraction job.

Request

session_id
string
required
Session ID (UUID format)
jobId
string
Job ID (optional, will use session’s job if not provided)

Response

status
string
Job status: pending, running, finished, or failed
result
object
Extraction results (available when status is finished)
result.objectClasses
array
Array of extracted object classes
result.objectClasses[].name
string
Exact type/object name as it appears in the documentation (preserves original casing)
result.objectClasses[].relevant
string
Relevancy indicator: true, false, or maybe
result.objectClasses[].superclass
string
Name of parent type if inheritance is documented (e.g., “AdminUser extends User”)
result.objectClasses[].abstract
boolean
Whether the type is abstract (not directly instantiated)
result.objectClasses[].embedded
boolean
Whether the type is used only as an embedded component (no independent CRUD)
result.objectClasses[].description
string
Brief explanation of what this class represents in the system
result.objectClasses[].relevantChunks
array
List of documentation chunk UUIDs containing relevant information

Example Request

curl -X GET "https://api.example.com/digester/550e8400-e29b-41d4-a716-446655440000/classes?jobId=123e4567-e89b-12d3-a456-426614174000" \
  -H "Authorization: Bearer YOUR_TOKEN"

Example Response

{
  "status": "finished",
  "result": {
    "objectClasses": [
      {
        "name": "User",
        "relevant": "true",
        "superclass": null,
        "abstract": false,
        "embedded": false,
        "description": "Represents a user account in the system with authentication credentials and profile information.",
        "relevantChunks": [
          {"docUuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"}
        ]
      },
      {
        "name": "Group",
        "relevant": "true",
        "superclass": null,
        "abstract": false,
        "embedded": false,
        "description": "Represents a collection of users for access management and permission assignment.",
        "relevantChunks": [
          {"docUuid": "b2c3d4e5-f6a7-8901-bcde-f12345678901"}
        ]
      }
    ]
  }
}

Get Specific Object Class

Get a specific object class by name from the session, including its attributes and endpoints if they have been extracted.

Request

session_id
string
required
Session ID (UUID format)
object_class
string
required
Object class name (case-insensitive, e.g., “User”, “Group”)

Response

Returns the complete object class data including any extracted attributes and endpoints.

Example Request

curl -X GET "https://api.example.com/digester/550e8400-e29b-41d4-a716-446655440000/classes/User" \
  -H "Authorization: Bearer YOUR_TOKEN"

Example Response

{
  "name": "User",
  "relevant": "true",
  "description": "Represents a user account in the system.",
  "relevantChunks": [
    {"docUuid": "a1b2c3d4-e5f6-7890-abcd-ef1234567890"}
  ],
  "attributes": {
    "id": {
      "type": "string",
      "description": "Unique identifier",
      "mandatory": true,
      "readable": true
    }
  },
  "endpoints": [
    {
      "path": "/users/{id}",
      "method": "GET",
      "description": "Get user by ID"
    }
  ]
}

Upload All Object Classes

Upload all object classes to the session, replacing existing data.

Request

session_id
string
required
Session ID (UUID format)
objectClasses
array
required
Complete object classes data with objectClasses array

Example Request

curl -X PUT "https://api.example.com/digester/550e8400-e29b-41d4-a716-446655440000/classes" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "objectClasses": [
      {
        "name": "User",
        "relevant": "true",
        "description": "User account"
      }
    ]
  }'

Upload One Object Class

Upload or update a specific object class in the session.

Request

session_id
string
required
Session ID (UUID format)
object_class
string
required
Object class name
data
object
required
Object class data (name field will be set from URL parameter)

Example Request

curl -X PUT "https://api.example.com/digester/550e8400-e29b-41d4-a716-446655440000/classes/User" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "User account",
    "relevant": "true"
  }'

Build docs developers (and LLMs) love