For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
Contact UsDashboard
DocumentationAPI ReferenceChangelog
LogoLogo
DocumentationAPI ReferenceChangelog
  • API Reference
      • GETRetrieve a paginated list of dimensions
      • GETRetrieve a specific dimension by ID
      • POSTCreate a single new dimension
      • POSTCreate or update multiple dimensions
Contact UsDashboard
API ReferenceDimensions

Create a single new dimension

POST
/dimensions
POST
/v1/dimensions
$curl -X POST https://api.ottimate.com/v1/dimensions \
> -H "X-Api-Key: your-api-key-here" \
> -H "X-API-Version: 1.0.0" \
> -H "Authorization: Bearer <token>" \
> -H "Content-Type: application/json" \
> -d '{
> "ottimate_company_id": 15196,
> "erp_type": "Department",
> "ottimate_type": "department",
> "name": "Marketing Department",
> "code": "MKT",
> "reference_id": "dept-mkt-001",
> "erp_dimension_id": "DEPT-MKT-001"
>}'
1{
2 "version": "1.0.0",
3 "id": "dim_ABC12345XYZ",
4 "name": "Marketing Department",
5 "erp_type": "Department",
6 "code": "MKT",
7 "reference_id": "dept-mkt-001",
8 "ottimate_type": "department",
9 "erp_dimension_id": "DEPT-MKT-001",
10 "ottimate_company_id": 15196
11}

Creates a new dimension with the provided details. The reference_id and erp_dimension_id are required for a successful creation.

Was this page helpful?
Previous

Create or update multiple dimensions

Next
Built with

Authentication

AuthorizationBearer
OAuth2 authentication flows. Auth server URLs will vary by environment

Headers

X-Api-KeystringRequired
API key for authentication
X-API-VersionenumOptional

API version to use (optional, defaults to latest)

Allowed values:
Idempotency-KeystringOptionalformat: "^[A-Za-z0-9._\-+=/]{1,128}$"1-128 characters
*(Beta — this header is available in sandbox and not yet in production.)* Client-generated unique key (UUID/ULID recommended). JSON requests: the first 2xx response is cached for 24h and replayed on a same-key retry with a matching body; a different body returns 422. Non-JSON requests (e.g. file uploads): the key is single-use — any same-key retry returns 422 regardless of body. See [Idempotency](https://docs.ottimate.com/idempotency) for full details.

Request

ottimate_company_idintegerRequired
The Ottimate company ID this dimension belongs to
erp_typestringRequired

The dimension category label as displayed in the client’s ERP system (e.g., ‘Account’, ‘GLACCOUNT’, ‘Department’). This is client-specific.

ottimate_typeenumRequired
Ottimate's standardized dimension type code for consistent categorization.
namestringRequired
Display name of the dimension
codestringRequired
The GL code or short identifier for this dimension in the client's ERP system
reference_idstringRequired

A unique reference identifier that tracks this dimension across all client systems (ERP, inventory management, Ottimate)

erp_dimension_idstringRequired
The identifier assigned to this dimension by the client's ERP software

Response

Successfully created
versionstring
idstring
namestring
erp_typestring
The dimension category label in client's ERP system
codestring
reference_idstring
ottimate_typeenum
Ottimate's standardized dimension type code
erp_dimension_idstring
ottimate_company_idinteger

Errors

400
Bad Request Error

(Beta — this header is available in sandbox and not yet in production.) Client-generated unique key (UUID/ULID recommended). JSON requests: the first 2xx response is cached for 24h and replayed on a same-key retry with a matching body; a different body returns 422. Non-JSON requests (e.g. file uploads): the key is single-use — any same-key retry returns 422 regardless of body. See Idempotency for full details.