Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Phraseanet API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fphraseanet.com%2Fphraseanet" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fphraseanet.com%2Fphraseanet" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Phraseanet API.
Search media records using full-text queries across metadata fields and collection scopes
Retrieve record metadata and caption information for cataloging and rights management
Upload new media assets with metadata into specific databoxes and collections
Organize records into stories for editorial workflows and narrative sequencing
Manage baskets for collaborative asset selection and approval workflows
GET STARTED
Access embedded media files in multiple rendition sizes for preview and download
Browse content feeds for curated asset publishing and distribution
Patterns agents use Phraseanet API for, with concrete tasks.
★ Media Asset Search and Retrieval
Search across large media libraries using full-text queries against metadata fields including title, description, keywords, and custom fields. Phraseanet returns matching records with thumbnail previews and metadata summaries. Used by editorial teams, marketing departments, and publishers to locate specific assets from collections containing thousands of images, videos, and documents.
Search for records matching 'product launch 2026' using POST /records/search and return the first 10 results with their caption metadata
Metadata Management and Updates
Read and write structured metadata on media records for cataloging, rights management, and workflow status tracking. Phraseanet supports custom metadata schemas per databox, enabling organization-specific fields. The API allows bulk metadata updates for re-categorization and rights assignment across multiple records.
Retrieve the caption for record ID 42 in databox 1 using GET /records/1/42/caption, then update its keywords using POST /records/1/42/setmetadatas
Collaborative Asset Curation
Create and manage baskets for collaborative asset selection workflows. Teams add candidate records to shared baskets, review selections, and approve final assets for use in campaigns or publications. Baskets serve as lightweight project containers that multiple users can contribute to without modifying the source collections.
Create a new basket via POST /baskets/add, then retrieve its contents with GET /baskets/{basket_id}/content to verify it was created empty
AI Agent Asset Discovery via Jentic
AI agents managing content workflows can search for and retrieve digital assets through Jentic without managing Phraseanet authentication directly. The agent searches for media operations, loads the endpoint schema, and executes searches or metadata lookups with Jentic handling instance-specific URL resolution and any authentication requirements.
Search Jentic for 'search digital assets by keyword', load the Phraseanet records/search operation, and execute a query for 'annual report' to find matching media files
16 endpoints — jentic publishes the only available openapi specification for phraseanet api, keeping it validated and agent-ready.
METHOD
PATH
DESCRIPTION
/records/search
Full-text search across media records
/records/{databox_id}/{record_id}
Retrieve a specific record by databox and ID
/records/{databox_id}/{record_id}/caption
Get caption metadata for a record
/records/{databox_id}/{record_id}/setmetadatas
Update metadata fields on a record
/records/{databox_id}/{record_id}/embed
Get embedded media URLs in multiple sizes
/records/add
Upload a new media record
/baskets/add
Create a new basket for asset curation
/baskets/{basket_id}/content
List records in a basket
/records/search
Full-text search across media records
/records/{databox_id}/{record_id}
Retrieve a specific record by databox and ID
/records/{databox_id}/{record_id}/caption
Get caption metadata for a record
/records/{databox_id}/{record_id}/setmetadatas
Update metadata fields on a record
/records/{databox_id}/{record_id}/embed
Get embedded media URLs in multiple sizes
/records/add
Upload a new media record
/baskets/add
Create a new basket for asset curation
What agents get from Jentic-routed access to this vendor.
Setup
Wiring the Phraseanet API by hand means pointing at your own {instance} host since the base URL is templated per deployment and formatting the record search and metadata requests yourself. Through Jentic you install once, import the Phraseanet API from the API Directory, and your agent calls it.
Permission scoping
Phraseanet puts the databox and record ids in the URL path (/records/{databox_id}/{record_id}), so a rule can pin your agent to one record: it can read that record, its caption, and its embed. You choose the operations it may call, so writes like setting metadata or adding a record are not included unless you add them.
Credential isolation
The Phraseanet API needs no credential in this spec, so there is none for Jentic to store; any optional token you configure is stored once, encrypted, by your own Jentic One instance and injected at execution time, never entering the agent's prompt, logs, or context.
Intent-based discovery
Agents search Jentic by intent such as 'search the digital asset library', and Jentic returns the matching Phraseanet operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Phraseanet API through Jentic.
Why is there no official OpenAPI spec for Phraseanet API?
Phraseanet does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Phraseanet API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.
What authentication does the Phraseanet API use?
The Phraseanet API authentication depends on instance configuration. Most deployments use OAuth 2.0 tokens passed in the Authorization header. Through Jentic, instance-specific credentials are stored in your Jentic One instance and injected at execution time regardless of the authentication method configured on the target instance.
Can I search across multiple collections in a single query?
Yes. The POST /records/search endpoint accepts collection scope parameters that let you search across multiple databoxes simultaneously. Results include the databox ID and record ID for each match, enabling cross-collection asset discovery in a single API call.
How do I upload a new asset with metadata to Phraseanet?
Use POST /records/add with the media file and metadata fields in the request body. You specify the target databox and collection, and Phraseanet creates the record with initial metadata. After upload, use POST /records/{databox_id}/{record_id}/setmetadatas to add or update additional metadata fields.
How do I retrieve asset download URLs through Jentic?
Search Jentic for 'get media download URL from Phraseanet' to find the GET /records/{databox_id}/{record_id}/embed operation. Load the schema, provide the databox ID and record ID, and execute. The response includes URLs for multiple rendition sizes (thumbnail, preview, original) ready for download or embedding.
Can I limit what my agent is allowed to do with the Phraseanet API?
Yes. Jentic One is self-hosted by you, so your own rules decide which Phraseanet operations and credentials the agent may use. Because Phraseanet puts the databox and record IDs in the URL path (/records/{databox_id}/{record_id}), a rule can pin the agent to a single record and let it read only that record, its caption, and its embed. You choose the operations it may call, so writes such as POST /records/{databox_id}/{record_id}/setmetadatas or POST /records/add stay off limits unless you add them.
Know of an official OpenAPI document? Contribute it →
For Agents
Search and manage digital assets including images, video, and documents. Retrieve records by metadata, organize into stories and baskets, upload new assets, and access embedded media files.
Use for: I need to search for images by keyword in a digital asset library, I want to upload a new media file to a specific collection, Retrieve the metadata and caption for a specific record, List all items in a collaborative basket
Not supported: Does not handle image editing, video transcoding, CDN delivery, or e-commerce storefront management - use for digital asset search, metadata, and organization only.
Jentic publishes the only available OpenAPI specification for Phraseanet API, keeping it validated and agent-ready. Phraseanet is a digital asset management platform that provides a REST API for searching, organizing, and managing media records, stories, baskets, and feeds. The API exposes 16 endpoints for full-text search across media collections, metadata reading and writing, asset embedding, record upload, and collaborative basket workflows used by media teams, brand managers, and publishers.
This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.
/baskets/{basket_id}/content
List records in a basket
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>