Machine-readable specifications: full OpenAPI 3.0 spec · llms.txt summary
Authentication: all endpoints except /api/v3/token/get/ require a JWT bearer token (Authorization: Bearer <token>). Responses: every response is {"status_code":1,"status_message":"…","result":…} — status_code 1 = success, 2 = validation error, 3 = no result, 0 = system error.
Base URL: each client has its own instance — https://{instance}.afineo.io/api/v3/
POST /api/v3/administration/classes/list/
List all available classes
Returns all configured data structures (libraries) in the system.
POST /api/v3/administration/versions/list/
List available versions
Returns available language versions (locales) configured in the system.
POST /api/v3/attributes/assign-masks/
Sync display mask permissions for an attribute (add, update, remove)
Synchronizes display mask permissions for a single attribute. Send the complete desired state for all masks: the endpoint computes a diff and applies additions, updates, and removals automatically.
POST /api/v3/attributes/assign-types/
Sync type assignments for an attribute (add, update, remove)
Synchronizes which record types an attribute is assigned to, along with per-type display options. Send the complete desired state for this attribute: the endpoint computes a diff and applies additions, updates, and removals automatically.
POST /api/v3/attributes/batch-create/
Create multiple attributes in batch
Creates multiple attributes in a single call with cache revalidation only at the end, improving performance for bulk operations.
POST /api/v3/attributes/create/
Create a new attribute
Creates a new attribute with validation against the JSON schema for the specified data_type.
POST /api/v3/attributes/full/
Get all attributes with full configuration
Returns complete information about all attributes of a class with full configuration.
POST /api/v3/attributes/get/
Get attribute configuration
Returns complete field definition (type, validation rules, list values, display settings, permissions).
POST /api/v3/attributes/groups/create/
Create a new attribute group
Creates a new attribute group within a tab. Groups organize attributes by theme within a tab.
POST /api/v3/attributes/groups/list/
List attribute groups
Returns attribute groups within tabs for a library. Groups organize attributes within tabs.
POST /api/v3/attributes/groups/update/
Update an existing attribute group
Updates properties of an existing attribute group. Only provided fields are modified — omitted fields remain unchanged.
POST /api/v3/attributes/list/
List class attributes (simplified)
Returns essential attribute information (id, code, label, data_type) for a class.
POST /api/v3/attributes/masks/
Get attribute mask permissions
Returns display mask assignments and permissions for an attribute.
POST /api/v3/attributes/schema/
Get attribute schema by data type
Returns the JSON schema defining all available properties for a specific attribute data type.
POST /api/v3/attributes/tabs/create/
Create a new attribute tab
Creates a new display tab in a library. Tabs organize attributes into logical sections in the asset editing interface.
POST /api/v3/attributes/tabs/list/
List attribute tabs
Returns attribute tabs (form sections) for a library. Tabs organize attributes into logical groups in the asset editing interface.
POST /api/v3/attributes/tabs/update/
Update an existing attribute tab
Updates properties of an existing display tab. Only provided fields are modified — omitted fields remain unchanged.
POST /api/v3/attributes/types/
Get attribute type assignments
Returns asset type assignments for an attribute.
POST /api/v3/attributes/update/
Update an existing attribute
Updates an existing attribute's properties. Only send the properties you want to change.
POST /api/v3/export/by-mapping/node/
Export project node data by mapping
Exports project-contextualized assets to JSON using a mapping with pagination and filters.
POST /api/v3/export/by-mapping/repository/
Export repository data by mapping
Exports repository assets to JSON using a preconfigured mapping with pagination and filters.
POST /api/v3/export/easycatalog/
Export for EasyCatalog InDesign
Generates InDesign-compatible export for EasyCatalog plugin. Returns formatted data for print catalog production. Supports column mapping discovery, first result preview, and thematiques listing.
POST /api/v3/export/get-file/
Get export file by queue ID
Returns file information (name, size, URL) for a completed export using the queue_id.
POST /api/v3/export/jobs-by-mapping/node/
Async export project node to file
Generates file export from project-contextualized data (CSV/XLS/XLSX/TXT/XML/JSON). Returns queue_id for async processing.
POST /api/v3/export/jobs-by-mapping/repository/
Async export repository to file
Generates file export from repository (CSV/XLS/XLSX/TXT/XML/JSON). Returns queue_id for async processing.
POST /api/v3/get-asset/by-id/node/
Get project node asset by ID
Returns project-contextualized asset with all attribute values (includes project-specific overrides).
POST /api/v3/get-asset/by-id/repository/
Get repository asset by ID
Returns complete repository asset with all attribute values (master data without project overrides).
POST /api/v3/get-asset/by-search/node/
Search project node assets by filters
Returns project-contextualized assets matching filters with pagination and custom attribute selection.
POST /api/v3/get-asset/by-search/repository/
Search repository assets by filters
Returns repository assets matching filters with pagination and custom attribute selection.
POST /api/v3/import/auto/node/
Auto-mapped import in node (project context)
Imports data from CSV or Excel files into a specific node/project context using automatic attribute mapping based on column headers.
POST /api/v3/import/auto/repository/
Auto-mapped import in repository
Imports data from CSV or Excel files into the repository using automatic attribute mapping based on column headers.
POST /api/v3/import/json/node/
Import JSON/JSONL data in node (project context)
Imports data from JSON or JSONL format into a specific node/project context. Supports two input modes: 1. Inline data: Pass JSON data directly via the data parameter 2. File upload: Upload a JSON/JSONL file via multipart/form-data
POST /api/v3/import/json/repository/
Import JSON/JSONL data in repository
Imports data from JSON or JSONL format into the repository. Supports two input modes: 1. Inline data: Pass JSON data directly via the data parameter 2. File upload: Upload a JSON/JSONL file via multipart/form-data
POST /api/v3/listvalues/add-option/
Add option to list value
Adds a new option (choice) to an existing dropdown list.
POST /api/v3/listvalues/create/
Create a new dropdown list
Creates a new dropdown list (list value) in a library, optionally with initial options (values).
POST /api/v3/listvalues/full/
Get list values for dropdowns
Returns all dropdown options configured for a class with full details (options, linked attributes, versions).
POST /api/v3/listvalues/get/
Get list value details
Returns complete information for a single list value including all options, linked attributes, and version data.
POST /api/v3/listvalues/list/
List dropdown configurations
Returns simplified list values for a class (id, code, label, tags only).
POST /api/v3/listvalues/update/
Update a dropdown list with full options synchronization
Updates an existing dropdown list: its label and/or its options. When values is provided, the endpoint performs a full synchronization of the list options.
POST /api/v3/mappings/full/
Get all mappings for a class
Returns all mappings for a class grouped by type (export, import, asset_view, search_view, dynamic_grouped_view).
POST /api/v3/mappings/get/
Get mapping details
Returns complete mapping configuration including metadata, permissions, and full data structure.
POST /api/v3/mappings/list/
List mappings by class and type
Returns simplified mapping list for a specific class and type.
POST /api/v3/permissions/groups/full/
Get full user group permissions
Returns complete permissions configuration for all user groups (profiles, statuses, languages, display masks, overloads).
POST /api/v3/permissions/groups/get/
Get user group details
Returns complete configuration for a specific user group by ID.
POST /api/v3/permissions/groups/list/
List user groups (simplified)
Returns simplified user group list (id, label) for dropdowns and selectors.
POST /api/v3/permissions/masks/assign-attributes/
Sync attribute permissions for a display mask, scoped to a library (add, update, remove)
Synchronizes which attributes are visible/editable in a display mask, scoped to a single library. Send the complete desired state for all attributes of that library in the mask: the endpoint computes a diff and applies additions, updates, and removals automatically.
POST /api/v3/permissions/masks/full/
Get all display masks with details
Returns all display masks for a class with attribute-level read/write/hidden permissions.
POST /api/v3/permissions/masks/get/
Get display mask details
Returns complete mask configuration with attribute-level permissions (read/write/hidden) for a specific class.
POST /api/v3/permissions/masks/list/
List display masks (simplified)
Returns simplified display mask list (id, label) for dropdowns and selectors.
POST /api/v3/permissions/profiles/full/
Get full profile permissions
Returns all profiles with complete permissions configuration (module access, universes, mount points, statuses).
POST /api/v3/permissions/profiles/get/
Get profile details
Returns complete permissions configuration for a specific profile by ID.
POST /api/v3/permissions/profiles/list/
List profiles (simplified)
Returns simplified profile list (id, label, type) grouped by profile type (general, project, asset).
POST /api/v3/permissions/statuses/full/
Get all statuses with details
Returns workflow statuses for a class with full details (default flag, color configuration).
POST /api/v3/permissions/statuses/get/
Get status details
Returns complete status configuration by ID (label, class, default flag, color).
POST /api/v3/permissions/statuses/list/
List statuses (simplified)
Returns simplified status list (id, label, class) for a specific class.
POST /api/v3/preferences/full/
Get all preferences with details
Returns all user preferences for a class with complete configuration (context, type/node assignments, attributes).
POST /api/v3/preferences/get/
Get preference by context
Returns preference configuration for a specific context (general, type, or node).
POST /api/v3/preferences/list/
List preferences (simplified)
Returns simplified preference list (id, code, label, tags, context) without attribute details.
POST /api/v3/preferences/update/
Update preference attributes
Updates the list of attributes assigned to a preference for a given context (general, type, or node).
POST /api/v3/processes/connections/
List external connections
Returns configured external connections (integrations) available for use in process actions.
POST /api/v3/processes/execute/
Execute automated process
Launches an automation and returns identification key for progress tracking.
POST /api/v3/processes/full/
List processes (full details)
Returns all processes for a class with complete configuration (actions, permissions, triggers, schedulers, callers).
POST /api/v3/processes/get-file/
Download process-generated file
Downloads file generated by a completed process using identification_key and file_key.
POST /api/v3/processes/get-instance-state/
Check process execution status
Returns real-time execution state and available files using identification_key from execute endpoint.
POST /api/v3/processes/get-logs/
Get process execution logs
Returns execution history with status details for troubleshooting and auditing.
POST /api/v3/processes/get/
Get process configuration
Returns complete process definition including actions, parameters, triggers, availability settings, and which processes call this one.
POST /api/v3/processes/list/
List processes (simplified)
Returns simplified process list for a library (id, code, label, tags, trigger type, availability, scheduling status).
POST /api/v3/processes/schedulers/
List scheduled processes
Returns schedulers with next execution dates and recurrence configuration for a library.
POST /api/v3/projects/create/
Create new project
Creates a new project under a parent workspace with specified type and configuration.
POST /api/v3/projects/full/
Get all projects with full details
Returns all workspaces and projects for a class with complete configuration (dates, versions, groups, permissions).
POST /api/v3/projects/get/
Get project details
Returns complete project configuration including type, dates, versions, groups, display settings, and permissions.
POST /api/v3/projects/list/
List projects (simplified)
Returns simplified project list grouped by workspace for a library.
POST /api/v3/publishing/add-block-to-page/
Add a single content block to a page
Adds a single content block to a specific publication page. Simplified alternative to add-blocks-to-pages for single block operations.
POST /api/v3/publishing/add-blocks-to-pages/
Add content blocks to pages
Defines page layout by adding content blocks to publication pages. Configure block positioning and content for print catalog production.
POST /api/v3/publishing/add-empty-block/
Add an empty block to a page
Creates an empty placeholder block on a publication page. Empty blocks reserve space for future product placement.
POST /api/v3/publishing/add-notepad/
Add a notepad to a page
Creates a notepad element on a publication page. Notepads are annotation elements for collaboration (pins, simple notes).
POST /api/v3/publishing/add-product-to-page/
Add a product to a publication page tree
Adds a product from the repository to a publication page tree. The product becomes a child of the page, making it available for block placement via place-product-in-page.
POST /api/v3/publishing/add-products-to-pages/
Add products to publication pages (batch)
Batch endpoint for adding products from the repository to multiple publication pages. Each product becomes a child of its target page.
POST /api/v3/publishing/add-text-block/
Add a text block to a page
Creates a text block with HTML content on a publication page. Text blocks display formatted content independently of products.
POST /api/v3/publishing/add-theme-to-page/
Associate a single theme to a single page
Assigns a single theme to a specific publication page. Simplified alternative to add-themes-to-pages for single operations.
POST /api/v3/publishing/add-themes-to-pages/
Associate themes to pages
Assigns thematic categories to publication pages. Use for organizing print catalog content by themes (seasonal, product families, promotional sections).
POST /api/v3/publishing/create/
Create new project
Creates a new publication or catalog project within a project group. Configure project type, page dimensions, and initial settings.
POST /api/v3/publishing/delete-block-to-page/
Remove a content block from a page
Deletes a content block from a publication page. Also removes any associated form data.
POST /api/v3/publishing/delete-theme-to-page/
Remove a theme from a page
Removes a theme from a specific publication page. Reverse operation of add-theme-to-page.
POST /api/v3/publishing/details/
Get publication details
Returns complete details of a publication including dimensions, page count, display mode, and associated themes.
POST /api/v3/publishing/get-block-form-by-attribute/
Get forms in a project by attribute value
Retrieves all forms in a publication project matching a specific attribute value. Useful for finding forms based on their content.
POST /api/v3/publishing/list/
List publication projects
Returns publication projects grouped by workspace.
POST /api/v3/publishing/page-details/
Get page details with blocks
Returns complete details of a publication page including themes and all blocks with their positions, content, and metadata.
POST /api/v3/publishing/pages/
Get publication pages list
Returns a paginated list of pages in a publication with their status and block count.
POST /api/v3/publishing/place-product-in-page/
Place a product on a publication page
Intelligent endpoint for placing a product on a publication page. Handles the full workflow: adding the product from the repository to the page tree if needed, then creating a new product block or assigning the product to an existing block.
POST /api/v3/publishing/place-products-in-pages/
Place products on publication pages (batch)
Batch endpoint for placing multiple products on multiple publication pages. Each product follows the same workflow as place-product-in-page: adding from repository if needed, then creating or assigning blocks.
POST /api/v3/publishing/unassign-product-from-block/
Remove a product from a block
Removes the product assignment from a product block, converting it back to an empty block. Associated form data is preserved.
POST /api/v3/publishing/update-block-to-page/
Update a content block on a page
Updates an existing content block on a publication page. Modify position, dimensions, content, or associated data. Only provided properties are updated.
POST /api/v3/publishing/update-status/node/
Update page status in publication project
Updates the access control status (LCA) of a publication page by page number. This endpoint operates in the project/node context (not repository).
POST /api/v3/queues/get/
Get queue details
Returns detailed queue information by ID including file download URL for finished jobs.
POST /api/v3/queues/list/
List queue items
Returns background job queue with execution status and optional filtering by status, type, and date range.
POST /api/v3/queues/types/
List queue types
Returns available background job categories (Import, Export, Process, Delete) for filtering queue lists.
POST /api/v3/record-asset/add-asset-to-project/
Add repository asset to project
Creates a contextualized node from a repository asset in a project. Returns created node_id.
POST /api/v3/record-asset/available-attributes-creation/
Get available attributes for creation
Returns list of available attributes for a specific type to help build dynamic creation forms.
POST /api/v3/record-asset/copy-node-in-project/
Copy node in project
Duplicates a node (and children) to a new location within the project. Returns new node_id.
POST /api/v3/record-asset/create/node/
Create node in project
Creates a new contextualized node directly in project (not linked to repository).
POST /api/v3/record-asset/create/repository/
Create asset in repository
Creates a new master data record in repository with initial attribute values.
POST /api/v3/record-asset/destroy/node/
Delete node and repository asset
IRREVERSIBLY removes both project node AND repository master data with all children. Cascading deletion affects all projects.
POST /api/v3/record-asset/destroy/repository/
Delete repository asset permanently
IRREVERSIBLY removes asset and children from repository. Prefer detach for reversible removal.
POST /api/v3/record-asset/detach/node/
Detach node from project
Removes node and children from project tree without affecting repository. Reversible operation - repository asset remains intact and can be re-added.
POST /api/v3/record-asset/detach/repository/
Detach asset from repository tree
Moves asset and children to Unclassified folder (reversible). Asset remains accessible for reclassification.
POST /api/v3/record-asset/move-asset-in-repository/
Move an asset to a different parent in the repository hierarchy
Moves an asset (and its children) to a new parent location within the repository hierarchy.
POST /api/v3/record-asset/move-node-in-project/
Move node in project
Moves a node (and children) to a new parent location within the project.
POST /api/v3/record-asset/repoint/node/
Repoint a node to a different asset
Repoints a node (project position) to a different asset (master record). Useful to correct import mistakes.
POST /api/v3/record-asset/update-datas/node/
Update project node attributes
Updates project-specific attribute values (simple and multiple types) for an existing node. Creates contextualized overrides without affecting repository master data. Use for catalog or publication-specific adaptations.
POST /api/v3/record-asset/update-datas/repository/
Update repository asset attributes
Updates attribute values (simple and multiple types) of an existing asset in the repository (master data). Changes propagate to all projects where the asset is used, unless a local override exists.
POST /api/v3/record-asset/update-status/node/
Update project node status
Updates workflow status (LCA) of a project node. Optionally propagate to repository asset.
POST /api/v3/record-asset/update-status/repository/
Update repository asset status
Updates workflow status (LCA) of a repository asset. Changes propagate to all projects unless overridden.
POST /api/v3/record-asset/update-type/
Change asset type
Reclassifies asset to a different type within the same class.
POST /api/v3/record-asset/upload-file/node/
Upload file to project node
Attaches a physical file to a project-specific node. File exists only in this project context.
POST /api/v3/record-asset/upload-file/repository/
Upload file to repository asset
Attaches a physical file to a repository asset. File becomes available for all projects.
POST /api/v3/token/disable/
Disable all active tokens
Invalidates all active JWT tokens for the account.
POST /api/v3/token/get/
Get JWT authentication token
Generates a JWT token for API authentication. Use login credentials to obtain a bearer token for subsequent API calls.
POST /api/v3/token/info/
Get current token information
Returns metadata about the current JWT token (validity, issue date, expiration).
POST /api/v3/types/assign-attributes/
Sync attribute assignments for a type (add, update, remove)
Synchronizes which attributes are assigned to a record type, along with per-attribute display options. Send the complete desired state for this type: the endpoint computes a diff and applies additions, updates, and removals automatically.
POST /api/v3/types/create/
Create a new type in a library
Creates a new asset type (category) in a library with full configuration. If a type with the same label already exists for the given supertype, it returns the existing type without creating a duplicate.
POST /api/v3/types/full/
Get all types with full details
Returns all asset types for a class with complete configuration including permissions, statuses, and display settings.
POST /api/v3/types/get/
Get asset type details
Returns complete asset type configuration including permissions, statuses, display settings, and file management options.
POST /api/v3/types/list/
List types by class
Returns simplified asset type list for a class (id, code, label, supertype, active status).
POST /api/v3/types/statuses/
Get type status assignments
Returns available workflow statuses for an asset type (includes inherited statuses from supertype).
POST /api/v3/types/update-permissions/
Update group permissions for a type
Manages group (LCA) permissions on an asset type. Controls which groups can create, edit, or view assets of this type. Type IDs are unique across all libraries.
POST /api/v3/types/update/
Update an existing type in a library
Updates properties of an existing asset type (category). Only provided fields are modified — omitted fields remain unchanged.
POST /api/v3/workflows/full/node/
Get full workflows for project node
Returns all workflows for a project node with complete configuration details.
POST /api/v3/workflows/full/repository/
Get full workflows for repository
Returns all workflows for the repository project with complete configuration details.
POST /api/v3/workflows/get/
Get workflow details
Returns complete workflow configuration including step groups hierarchy, steps with their actions, contributors, completeness rules, and notification settings.
POST /api/v3/workflows/list/node/
List workflows by project node
Returns simplified workflow list for a specific project node (id, code, label, types).
POST /api/v3/workflows/list/repository/
List workflows for repository
Returns simplified workflow list for the master repository (automatically retrieved by class_id).