Skip to main content
POST
/
digester
/
{session_id}
/
classes
/
{object_class}
/
attributes
Extract Attributes
curl --request POST \
  --url https://api.example.com/digester/{session_id}/classes/{object_class}/attributes \
  --header 'Content-Type: application/json' \
  --data '
{
  "attributes": {}
}
'
{
  "jobId": "<string>",
  "status": "<string>",
  "result": {
    "result.attributes": {
      "result.attributes[key].type": "<string>",
      "result.attributes[key].format": "<string>",
      "result.attributes[key].description": "<string>",
      "result.attributes[key].mandatory": true,
      "result.attributes[key].updatable": true,
      "result.attributes[key].creatable": true,
      "result.attributes[key].readable": true,
      "result.attributes[key].multivalue": true,
      "result.attributes[key].returnedByDefault": true
    }
  },
  "message": "<string>",
  "sessionId": "<string>",
  "objectClass": "<string>",
  "status_code": 123,
  "detail": "<string>"
}
Extract the attributes schema (properties, types, constraints) for a specific object class. Only processes documentation chunks that are relevant to the object class.
You must extract object classes first using /classes endpoint before extracting attributes.

Request

session_id
string
required
Session ID (UUID format)
object_class
string
required
Object class name (e.g., “User”, “Group”). Case-insensitive.
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/User/attributes" \
  -H "Authorization: Bearer YOUR_TOKEN"

Example Response

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

Get Attributes Status

Get the status and results of the attributes extraction job.

Request

session_id
string
required
Session ID (UUID format)
object_class
string
required
Object class name
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.attributes
object
Map of attribute name to attribute metadata
result.attributes[key].type
string
JSON Schema type: string, integer, number, boolean, object, array, or reference <TargetClass>
result.attributes[key].format
string
OpenAPI format (e.g., email, uri, int64, date-time, embedded, reference)
result.attributes[key].description
string
Property description from the schema
result.attributes[key].mandatory
boolean
True when the property is listed in the object’s required array
result.attributes[key].updatable
boolean
False if readOnly=true, otherwise true
result.attributes[key].creatable
boolean
False if readOnly=true, otherwise true
result.attributes[key].readable
boolean
False if writeOnly=true, otherwise true
result.attributes[key].multivalue
boolean
True if the property type is array
result.attributes[key].returnedByDefault
boolean
True if returned by default without additional expansion calls

Example Request

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

Example Response

{
  "status": "finished",
  "result": {
    "attributes": {
      "id": {
        "type": "string",
        "format": "",
        "description": "Unique identifier for the user",
        "mandatory": true,
        "updatable": false,
        "creatable": false,
        "readable": true,
        "multivalue": false,
        "returnedByDefault": true
      },
      "username": {
        "type": "string",
        "format": "",
        "description": "Username for authentication",
        "mandatory": true,
        "updatable": true,
        "creatable": true,
        "readable": true,
        "multivalue": false,
        "returnedByDefault": true
      },
      "email": {
        "type": "string",
        "format": "email",
        "description": "User's email address",
        "mandatory": true,
        "updatable": true,
        "creatable": true,
        "readable": true,
        "multivalue": false,
        "returnedByDefault": true
      },
      "createdAt": {
        "type": "string",
        "format": "date-time",
        "description": "Timestamp when the user was created",
        "mandatory": false,
        "updatable": false,
        "creatable": false,
        "readable": true,
        "multivalue": false,
        "returnedByDefault": true
      },
      "roles": {
        "type": "array",
        "format": "reference",
        "description": "List of roles assigned to the user",
        "mandatory": false,
        "updatable": true,
        "creatable": true,
        "readable": true,
        "multivalue": true,
        "returnedByDefault": false
      },
      "profile": {
        "type": "object",
        "format": "embedded",
        "description": "User profile information",
        "mandatory": false,
        "updatable": true,
        "creatable": true,
        "readable": true,
        "multivalue": false,
        "returnedByDefault": true
      }
    }
  }
}

Override Attributes

Manually override the attributes for an object class.

Request

session_id
string
required
Session ID (UUID format)
object_class
string
required
Object class name (will be normalized to lowercase)
attributes
object
required
Attributes schema as JSON object

Response

message
string
Success message
sessionId
string
Session ID
objectClass
string
Object class name (normalized)

Example Request

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

Example Response

{
  "message": "Attributes for user overridden successfully",
  "sessionId": "550e8400-e29b-41d4-a716-446655440000",
  "objectClass": "user"
}

Error Responses

status_code
number
HTTP status code
detail
string
Error message

Common Errors

404 Not Found - Object class not found or no object classes in session
{
  "detail": "No object classes found in session. Please run /classes endpoint first."
}
400 Bad Request - No relevant chunks found for the object class
{
  "detail": "No relevant chunks found for object class 'User'. Cannot extract attributes."
}

Build docs developers (and LLMs) love