TechAppForce API Reference
REST APIs for every platform service. Each service also publishes an OpenAPI document on your environment. Endpoints marked with a full reference include request samples; the others list the route while their detailed schema is written.
Identity API Sign-in, tokens, multi-factor authentication, Microsoft sign-in, tenants, users, subscriptions and billing.Authentication, Passwords, MFA, SSO, Tenants, Users, Billing, OAuth 2.0 / OpenID ConnectMetadata API Entities, fields, saved queries, screens, scripts, database connections, table and view definitions, environment diffs and releases.Entities, Queries, Screens, Scripts, DDL, Connections, ReleasesData API Create, read, update and delete records of any entity; run saved queries and stored procedures; filter, sort, page and aggregate.Records, Queries, Database objects, Access, Real timeWorkflow API Record lifecycles and status transitions, approvals, triggers and running workflows.Lifecycles, Approvals, Workflow execution, TriggersNotification API Send email, SMS, webhook and in-app notifications, configure templates and recipients, and read delivery status.Send, Templates, Status, In-app, PreferencesReports API Generate reports in PDF, Excel, Word, CSV and HTML, send them by email, run schedules and import data.Reports, Schedules, ImportFile API Upload and download files, attach them to records, manage folders and create public share links.Files, Share linksVirtual URL API Publish your own REST endpoints without code, and generate an OpenAPI document for them.Authoring, RuntimeAI / TAFI gateway The Model Context Protocol gateway TAFI uses to read and change applications, with preview and confirmation built in.Discovery, Build, Diagnostics
All endpoints
- POST
/api/v1/auth/loginSign in with email or username and passwordIdentity · Authentication - POST
/api/v1/auth/login/otpSign in with a one-time codeIdentity · Authentication - POST
/api/v1/auth/login/mfaComplete the multi-factor sign-in stepIdentity · Authentication - POST
/api/v1/auth/refreshExchange a refresh token for new tokensIdentity · Authentication - POST
/api/v1/auth/register-tenantRegister a new tenant and its first administratorIdentity · Authentication - POST
/api/v1/auth/registerRegister a userIdentity · Authentication - POST
/api/v1/auth/password/forgotSend a password reset codeIdentity · Passwords - POST
/api/v1/auth/password/forgot/confirmSet a new password with the reset codeIdentity · Passwords - POST
/api/v1/auth/password/changeChange your own passwordIdentity · Passwords - POST
/api/v1/auth/password/{userId}/resetReset a user's password as an administratorIdentity · Passwords - POST
/api/v1/mfa/setupStart setting up authenticator-app or email-code MFAIdentity · MFA - POST
/api/v1/mfa/enableEnable MFA after verifying a codeIdentity · MFA - POST
/api/v1/mfa/disableDisable MFAIdentity · MFA - GET
/api/v1/mfa/statusGet your MFA statusIdentity · MFA - GET
/api/v1/sso/microsoft/settingsRead the tenant's Microsoft sign-in settingsIdentity · SSO - POST
/api/v1/sso/microsoft/connectConnect a Microsoft organisation to the tenantIdentity · SSO - POST
/api/v1/sso/microsoft/sign-in/startStart Sign in with MicrosoftIdentity · SSO - POST
/api/v1/sso/microsoft/sign-in/exchangeExchange the Microsoft result for platform tokensIdentity · SSO - GET
/api/v1/sso/microsoft/sign-in/availabilityCheck whether Microsoft sign-in is availableIdentity · SSO - GET
/api/v1/tenantsList tenantsIdentity · Tenants - GET
/api/v1/tenants/{id}Get a tenantIdentity · Tenants - GET
/api/v1/tenants/validate/subdomain/{subdomain}Check whether a subdomain is availableIdentity · Tenants - PATCH
/api/v1/tenants/{id}/statusChange a tenant's statusIdentity · Tenants - GET
/api/v1/usersList usersIdentity · Users - GET
/api/v1/users/{id}Get a userIdentity · Users - POST
/api/v1/users/{id}/rolesAssign roles to a userIdentity · Users - POST
/api/v1/userdetailsGet the signed-in user's profileIdentity · Users - POST
/api/v1/billing/checkoutStart a checkout for a planIdentity · Billing - POST
/api/v1/billing/checkout/verifyVerify a completed checkoutIdentity · Billing - GET
/api/v1/billing/entitlementsGet the plan capabilities for the current contextIdentity · Billing - POST
/api/v1/billing/subscriptions/{id}/cancelCancel a subscriptionIdentity · Billing - POST
/api/v1/billing/subscriptions/{id}/resumeResume a cancelled subscriptionIdentity · Billing - POST
/connect/tokenToken endpoint (authorization code, refresh token, client credentials)Identity · OAuth 2.0 / OpenID Connect - GET
/connect/authorizeAuthorization endpointIdentity · OAuth 2.0 / OpenID Connect - GET
/api/v1/appobject/{appObjectName}Get an entity with its fieldsMetadata · Entities - GET
/api/v1/appobject/{appObjectName}/relationsGet an entity with its relationshipsMetadata · Entities - POST
/api/v1/appobject/flagsTurn entity features on or offMetadata · Entities - GET
/api/v1/metadata/schemaGet the whole application schemaMetadata · Entities - GET
/api/v1/query/{queryId}Get a saved queryMetadata · Queries - GET
/api/v1/queryGet a saved query by entity and nameMetadata · Queries - POST
/api/v1/query/upsertCreate or update a saved queryMetadata · Queries - POST
/api/v1/query/cloneClone a saved queryMetadata · Queries - GET
/api/v1/screen/{screenId}Get a screen definition for the signed-in userMetadata · Screens - POST
/api/v1/screen/upsertCreate or update a screenMetadata · Screens - GET
/api/v1/customscriptList scripts for an entityMetadata · Scripts - GET
/api/v1/customscript/bynameGet a script by nameMetadata · Scripts - POST
/api/v1/application/upserttableCreate or extend a tableMetadata · DDL - POST
/api/v1/application/upsertviewCreate or replace a viewMetadata · DDL - POST
/api/v1/application/registerappobjectsRegister tables and views as entitiesMetadata · DDL - POST
/api/v1/application/syncappfieldsRe-sync entity fields with the tableMetadata · DDL - POST
/api/v1/application/setupPrepare an environment databaseMetadata · DDL - POST
/api/v1/customappfields/bulkAdd custom fields without a schema changeMetadata · DDL - GET
/api/v1/connections/testTest an environment's database connectionMetadata · Connections - GET
/api/v1/connections/schema/validateCheck a database for compatible tablesMetadata · Connections - GET
/api/v1/release/diff/metadataCompare definitions between two environmentsMetadata · Releases - GET
/api/v1/release/diff/dataCompare configuration data between two environmentsMetadata · Releases - POST
/api/v1/release/applyApply a release to the next environmentMetadata · Releases - POST
/api/v1/records/insertCreate a recordData · Records - PUT
/api/v1/records/updateUpdate records that match a filterData · Records - DELETE
/api/v1/records/deleteDelete records that match a filterData · Records - POST
/api/v1/records/bulk-insertInsert many records at onceData · Records - POST
/api/v1/queries/selectRun an ad hoc queryData · Queries - POST
/api/v1/queries/execute/{appObjectName}/{queryName}Run a saved query by nameData · Queries - POST
/api/v1/queries/execute/{queryId}Run a saved query by idData · Queries - GET
/api/v1/lists/getGet dropdown values, pagedData · Queries - POST
/api/v1/database/executeRun a stored procedure or functionData · Database objects - GET
/api/v1/accessGet your access scopes per entityData · Access - POST
/api/v1/access/clone-roleCopy one role's access to anotherData · Access - GET
/api/v1/permissionsGet your named permissionsData · Access - WS
/hubs/crud-notificationsReal-time hub for write results and record changesData · Real time - GET
/api/v1/status/availableGet the statuses a record can move to nextWorkflow · Lifecycles - PUT
/api/v1/status/updateMove a record to a new statusWorkflow · Lifecycles - POST
/api/v1/status/bulk-updateMove many records to a statusWorkflow · Lifecycles - POST
/api/v1/blueprintsCreate a lifecycle with its statuses and transitionsWorkflow · Lifecycles - POST
/api/v1/records/insertRecord an approval decision (insert into the decision entity)Workflow · Approvals - POST
/api/v1/workflows/execute/{workflowId}Run a manual workflowWorkflow · Workflow execution - POST
/api/v1/records/insertDefine a trigger (insert into the trigger entity)Workflow · Triggers - POST
/api/notification/workspace/{workspaceKey}/send/{notificationId}Send a configured notificationNotification · Send - POST
/api/notification/workspace/{workspaceKey}/emailSend an emailNotification · Send - POST
/api/notification/workspace/{workspaceKey}/smsSend an SMSNotification · Send - POST
/api/notification/workspace/{workspaceKey}/in-appSend an in-app notificationNotification · Send - POST
/api/notification/workspace/{workspaceKey}/webhookCall a webhookNotification · Send - POST
/api/notification/workspace/{workspaceKey}/multi-channelSend on several channels at onceNotification · Send - POST
/api/notification/workspace/{workspaceKey}/pushSend a push notificationNotification · SendComing soon - POST
/api/notification/config/upsertCreate or update a notification configurationNotification · Templates - GET
/api/status/workspace/{workspaceKey}/{notificationId}Get a notification's delivery statusNotification · Status - GET
/api/status/workspace/{workspaceKey}/history/{recipientId}Get a recipient's notification historyNotification · Status - WS
/wsIn-app notification socketNotification · In-app - POST
/api/v1/records/insertStore a user's channel preferences (a platform entity)Notification · Preferences - POST
/api/v1/report/exportGenerate a report for previewReports · Reports - POST
/api/v1/report/downloadGenerate a report fileReports · Reports - POST
/api/v1/report/SendReportGenerate a report and email itReports · Reports - POST
/api/v1/report/schedules/{scheduleId}/run-nowRun a report schedule nowReports · Schedules - POST
/api/v1/report/schedules/{scheduleId}/re-syncRe-register a schedule with the schedulerReports · Schedules - POST
/api/v1/import/dataValidate or import an uploaded fileReports · Import - POST
/api/v1/FileManager/FileOperationsFile manager operationsFiles · Files - POST
/api/v1/FileManager/UploadUpload filesFiles · Files - POST
/api/v1/FileManager/DownloadDownload filesFiles · Files - GET
/api/v1/FileManager/GetImageGet an image or its thumbnailFiles · Files - POST
/api/v1/linksCreate a share linkFiles · Share links - DELETE
/api/v1/links/{linkId}Revoke a share linkFiles · Share links - GET
/l/{appId}/{environmentId}/{tenantId}/{userId}/{token}Open a public share linkFiles · Share links - POST
/api/v1/virtualurls/upsertCreate or update a Virtual URLVirtual URLs · Authoring - GET
/api/v1/virtualurlsList Virtual URLsVirtual URLs · Authoring - DELETE
/api/v1/virtualurls/{id}Delete a Virtual URLVirtual URLs · Authoring - GET
/api/virtualurls/openapiGet the app's OpenAPI 3.1 documentVirtual URLs · Authoring - ANY
/vu/{path}Call a Virtual URLVirtual URLs · Runtime - MCP
taf_describe_entity, taf_list_screens, taf_get_query, taf_find_featureRead the application: entities, screens, queries, scripts, permissionsTAFI · Discovery - MCP
db_register_entity, db_register_query, db_register_blueprint, build_screen, nav_register_menu_itemCreate entities, queries, lifecycles, screens and menu itemsTAFI · Build - MCP
perm_grant_appobject_access, perm_set_access, perm_revoke_accessGrant, change and revoke role accessTAFI · Build - MCP
wf_register_trigger, notify_register_notification, report_register, vu_registerTriggers, notifications, reports and Virtual URLsTAFI · Build - MCP
taf_health, taf_audit_trail, taf_explain_error, taf_diagnose_featureHealth, audit trail and error explanationsTAFI · Diagnostics
No endpoint matches. Try a resource name such as records, screens or approvals.