List custom modules
Returns custom modules in the token organization. The response includes a schema summary by default.
Authorization
api-token Opero API token. Send it as Authorization: Bearer ek_...
In: header
Query Parameters
Page number (1-based)
Items per page. Maximum 100.
Count strategy. exact keeps current total-count behavior, none skips totals, hasMore lets endpoints return whether another page exists when implemented.
JSON-encoded recursive filter tree. Example: {"op":"AND","items":[{"field":"status","operator":"eq","value":"ACTIVE"}]}
JSON-encoded ordered sort rule list. A single-valued dictionary-backed field may set dictionaryMetadataKey to a metadata key advertised by that field instead of sorting by its stored entry key.
JSON-encoded ordered list of requested columns. This is a validated presentation contract in v1.
Response Body
application/json
application/json
application/json
application/json
curl -X GET "https://example.com/v1/custom-modules"{ "data": [ { "key": "string", "name": "string", "description": "string", "icon": "string", "color": "string", "schema": { "isActive": true, "isHidden": true, "objectCount": 0, "exposedObjectCount": 0, "draftCount": 0, "capabilities": { "schemaRead": true, "schemaManage": true, "recordsRead": true } } } ], "meta": { "page": 1, "limit": 20, "total": 100, "hasMore": true }}{ "error": { "code": "NOT_FOUND", "message": "Resource not found", "meta": { "partiallyApplied": true, "failedPhase": "defaultForms", "committedObjects": [ { "id": "5e2af9bc-be0b-4ad8-af57-e8319fb115d3", "key": "session", "created": true } ], "fieldsWritten": 1, "fieldsDeleted": 0 }, "fieldErrors": { "name": [ "Field \"name\" is required" ] }, "unavailableMutationScopes": [ "contractor.bankAccounts" ], "clientMutationId": "019f2e3a-7c8b-7a33-9fc8-90db2b5b1e50", "relationTableErrors": {}, "idempotencyConflict": {}, "errors": [ { "message": "relation \"foo\" does not exist" } ], "impacts": [ {} ], "validation": {} }}{ "error": { "code": "NOT_FOUND", "message": "Resource not found", "meta": { "partiallyApplied": true, "failedPhase": "defaultForms", "committedObjects": [ { "id": "5e2af9bc-be0b-4ad8-af57-e8319fb115d3", "key": "session", "created": true } ], "fieldsWritten": 1, "fieldsDeleted": 0 }, "fieldErrors": { "name": [ "Field \"name\" is required" ] }, "unavailableMutationScopes": [ "contractor.bankAccounts" ], "clientMutationId": "019f2e3a-7c8b-7a33-9fc8-90db2b5b1e50", "relationTableErrors": {}, "idempotencyConflict": {}, "errors": [ { "message": "relation \"foo\" does not exist" } ], "impacts": [ {} ], "validation": {} }}{ "error": { "code": "NOT_FOUND", "message": "Resource not found", "meta": { "partiallyApplied": true, "failedPhase": "defaultForms", "committedObjects": [ { "id": "5e2af9bc-be0b-4ad8-af57-e8319fb115d3", "key": "session", "created": true } ], "fieldsWritten": 1, "fieldsDeleted": 0 }, "fieldErrors": { "name": [ "Field \"name\" is required" ] }, "unavailableMutationScopes": [ "contractor.bankAccounts" ], "clientMutationId": "019f2e3a-7c8b-7a33-9fc8-90db2b5b1e50", "relationTableErrors": {}, "idempotencyConflict": {}, "errors": [ { "message": "relation \"foo\" does not exist" } ], "impacts": [ {} ], "validation": {} }}