Opero Docs
Opero APICustom Object Forms

List custom object forms

GET
/v1/custom-modules/{moduleKey}/objects/{objectKey}/forms

Returns paginated form contracts for one custom object, including supported types and owned layout availability metadata.

Authorization

api-token
AuthorizationBearer <token>

Opero API token. Send it as Authorization: Bearer ek_...

In: header

Path Parameters

moduleKey*string
objectKey*string

Query Parameters

page?number

Page number (1-based)

limit?number

Items per page. Maximum 100.

count?string

Count strategy. exact keeps current total-count behavior, none skips totals, hasMore lets endpoints return whether another page exists when implemented.

filters?string

JSON-encoded recursive filter tree. Example: {"op":"AND","items":[{"field":"status","operator":"eq","value":"ACTIVE"}]}

sort?string

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.

columns?string

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

application/json

curl -X GET "https://example.com/v1/custom-modules/string/objects/string/forms"
{  "data": [    {      "id": "string",      "presentationConsumerId": "string",      "name": "string",      "publicToken": "string",      "types": [        "VIEW"      ],      "availableTypes": [        "VIEW"      ],      "accessSources": [        "ALL_MEMBERS"      ],      "layoutAvailability": {        "property1": {          "state": "PUBLISHED",          "layoutId": "string",          "versionId": "string"        },        "property2": {          "state": "PUBLISHED",          "layoutId": "string",          "versionId": "string"        }      },      "usableTypes": [        "VIEW"      ],      "layoutWarnings": [        {          "type": "VIEW",          "code": "LAYOUT_MISSING",          "message": "string",          "meta": {}        }      ],      "editor": {        "ownerKind": "DYNAMIC_FORM",        "ownerId": "string",        "consumerId": "string",        "name": "string",        "status": "DRAFT",        "layoutId": "string",        "currentVersionId": "string",        "latestDraftVersionId": "string",        "capabilities": [          {            "runtimeScope": "ORGANIZATION",            "capability": "CREATE"          }        ],        "renderModes": [          "string"        ],        "catalogProfile": "string",        "domainContext": {          "kind": "DYNAMIC_FORM",          "formId": "string",          "moduleKey": "string",          "objectKey": "string",          "formTypes": [            "VIEW"          ]        }      },      "isActive": true,      "isPublic": true,      "config": {},      "objectId": "string",      "organizationId": "string",      "directUserAccessCount": 0,      "roleAccessCount": 0,      "isDefaultView": true,      "isDefaultEdit": true,      "isDefaultCreate": true,      "createdAt": "2019-08-24T14:15:22Z",      "updatedAt": "2019-08-24T14:15:22Z"    }  ],  "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": {}  }}
{  "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": {}  }}