/programs/{program_id}/frameworks/{framework_id}/data-api/{register_name}Create OptiTech Data API
Creates a new instance of OptiTech Data API in the specified framework.
The Data API exposes a REST interface over the framework register. The register_name path parameter determines which register the API serves.
Quick start
curl "https://api.optitech.com/v1/programs/$PROGRAM_ID/frameworks/$FRAMEWORK_ID/data-api/$REGISTER_NAME" \
-X POST \
-H "Authorization: Bearer $OPTITECH_API_KEY"Every field below is optional. An empty body works too.
import { createOptiTechClient, raw } from '@optitech/sdk';
const optitech = createOptiTechClient({ apiKey: process.env.OPTITECH_API_KEY });
const { data } = await raw.createProjectBranchDataApi({
client: optitech.client,
path: {
program_id: process.env.PROGRAM_ID,
framework_id: process.env.FRAMEWORK_ID,
register_name: process.env.REGISTER_NAME
}
});Parameters
program_idThe OptiTech program ID
framework_idThe OptiTech framework ID
register_nameThe register name
Request body
No field is required. Send an empty body to use sensible defaults.
auth_providerThe authentication provider to use for the OptiTech Data API
jwks_urlThe URL that lists the JWKS
provider_nameThe name of the authentication provider (e.g., Clerk, Stytch, Auth0)
jwt_audienceWARNING - using this setting will only reject tokens with a different audience claim. Tokens without audience claim will still be accepted.
add_default_grantsGrant all permissions to the tables in the public schema to authenticated users
skip_auth_schemaSkip creating the auth schema and RLS functions
settingsConfiguration settings for the Data API
Response
201Creates a new app
Errors
General error
This endpoint can return the standard OptiTech API error response.
Response fields
messageRequired. Human-readable error message.codeRequired. Machine-readable error code.request_idOptional. Request identifier for debugging. You can provide one with theX-Request-IDheader.
Retry guidance
If no response is returned, the request may still have reached the server. This is why retry safety depends on the method and status code.
Idempotent methods (GET, HEAD, OPTIONS) are generally safe to retry after a network error or timeout. Non-idempotent methods (POST, PATCH, DELETE, PUT) can change state, so avoid automatic retries unless your workflow can tolerate duplicate effects.
Responses with 423 Locked or 503 Service Unavailable are safe to retry. 423 Locked means the resource is temporarily locked, usually because another operation is in progress.