API & Integration
This section is for developers who integrate other systems with OpenCDMP or extend it with plugins.
Quick start
New to the OpenCDMP API? Start here:
- Integrating with OpenCDMP: get a token from Keycloak for a user or a service account
- Swagger UI: try every endpoint interactively
- API usage: request conventions, lookups, paging, the
x-tenantheader, and common operations
The Keycloak side of a service account is in Create an integration client.
More endpoints and events
- Reports: aggregate the answers stored in plans and assets
- Webhooks: signed HTTP callbacks for plan and asset events, with payload format, signature verification, and retries
Logging and auditing
- Logging and auditing: logging conventions for code in the services
- Audit events: every audit event and its id
- Logging and monitoring: where the logs are and how to read them, for operators
Plugin development
Build file transformers, deposit services, and evaluators. To run one against a local installation, see Run and test a plugin locally.
Integrating with OpenCDMP
Get OAuth2 tokens from the Keycloak realm of an installation to call the OpenCDMP API - Authorization Code and Client Credentials flows, scopes, and service accounts
API usage guide
Call the OpenCDMP REST API - tokens, the x-tenant header, field projection, lookups, common plan and asset operations, exports, search syntax, and errors
Swagger UI
The interactive Swagger UI and OpenAPI document of the OpenCDMP API - where to find them, which endpoints they list, signing in, and the x-tenant header
Webhooks
Receive signed HTTP callbacks when plans and assets change
Reports
Count how a question was answered across a tenant, or across the installation, through the API
Plugins
6 items
Logging and auditing
How OpenCDMP services log and audit, and where to find the operator logging guide and the audit event reference
Audit events
How the OpenCDMP services record audited API calls, and the reference of every audit event and its id
Contributing
Report bugs, suggest features, and contribute code to OpenCDMP