Opero APIcompanies
Read relation-table rows through Dynamic Form
Authorization
api-token AuthorizationBearer <token>
Opero API token. Send it as Authorization: Bearer ek_...
In: header
Path Parameters
formId*string
Dynamic Form ID
companyId*string
Query Parameters
capability*string
recordId?string
Dynamic record ID for VIEW or EDIT.
expand?string
Comma-separated Form field keys to expand.
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
application/json
application/json
curl -X POST "https://example.com/v1/companies/string/forms/string/relation-tables/table-layout?capability=CREATE" \ -H "Content-Type: application/json" \ -d '{ "recordIds": [ "rec_1", "rec_2" ], "columns": [ "name", "quantity", "product.name", "product.sku" ] }'{ "data": { "layout": { "id": "layout_123", "versionId": "version_123", "catalogProfile": "DYNAMIC_OBJECT", "mode": "VIEW", "moduleKey": "crm", "objectKey": "invoice_line", "formId": "line-view-form" }, "fields": [ { "nodeId": "block_line_name", "fieldId": "field_name_id", "fieldKey": "name", "label": "Name", "type": "LINES", "options": {}, "resolvedOptions": { "state": "ready", "source": "sql_query", "queryId": "query_123", "data": [ { "value": "prod_1", "label": "Product A" } ], "meta": { "hasMore": false } }, "config": {}, "editable": false, "isRequired": false } ], "columns": [ { "path": "product.name", "label": "Product / Name", "type": "LINES", "source": "row", "editable": true, "nodeId": "block_line_name", "fieldKey": "name", "fieldId": "field_name_id" } ], "records": [ { "id": "rec_1", "values": {} } ] }}{ "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": {} }}