How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Opal Categories API

## OverviewCategories are in a tree: a given category has zero or more ancestors and zero or more descendants. The tree is built by recursively following `parent_category` relationships. Currently our trees are at most two nodes deep (that is, a root with zero or more leaves), but clients **MUST** be able to handle trees of any depth.### Category type and custom fieldsCategories can be associated with [Category Types](/api/documentation/v3#tag/Category-Types), determining which [Custom Fields](/api/documentation/v3#tag/Custom-Fields) are available to [Blocks](/api/documentation/v3#tag/Blocks) in the category. If the category has a relationship with a deactivated category type it is considered to have no category type.### Effective category typeThe effective category type allows the category to inherit a category type relationship.*Note:* The following description of the algorithm is informational: clients that want the effective category type **MUST** use the `effective_category_type_id` property in the category resource object’s `meta` information, and **MUST NOT** manually compute the value using this algorithm, as the exact behavior may change without warning.If the given category has a relationship with an active (not deactivated, not deleted) category type that is the effective category type.If the given category does *not* have a relationship with an active category type, any ancestors that have a relationship with an active category type are selected, and the nearest ancestor (the ancestor with the largest `depth`) provides the effective category type.If the given category has no ancestors, or none of its ancestors have a relationship with an active category type, *and* the view *does* have a relationship to an active category type, the view’s category type is the effective category type.If none of the above conditions are met, the category does not have an effective category type.*Note*: The behavior doesn’t change based on where the given category is in the tree — the logic is the same for the root, leaves, and everything in-between. This is why the following table refers to ‘parent’ and ‘grandparent’, rather than using tree terminology.In the following* ‘✓’ means the column’s entry is associated to an active category type* the parent and grandparent demonstrate inheritance behavior if the given category has ancestors with an associated active category type | view | grandparent category | parent category | given category | effective category typecomes from… | | :----: | :--------------------: | :---------------: | :--------------: | --------------------| | | | | ✓ | given | | | | ✓ | ✓ | given | | | ✓ | | ✓ | given | | ✓ | | | ✓ | given | | | | ✓ | | parent | | | ✓ | ✓ | | parent | |✓ | | ✓ | | parent | | | ✓ | | | grandparent | | ✓ | ✓ | | | grandparent | | ✓ | | | | view | | | | | | 🚫 (no category type)|

Opal Categories API is one of 79 APIs that Opal publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Categories. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and an API reference.

This API exposes 4 operations across 2 paths. It is described by OpenAPI 3.2.0, at version 3.0.0.

Requests are made against a single base URL, https://login.ouropal.com.

4 operations 2 paths 0 schemas 1 DELETE1 GET1 PATCH1 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
3.0.0
Base URL
https://login.ouropal.com
Authentication
OAuth 2.0, OAuth 2.0, API Key, API Key
Resource Areas
1

Authentication & Security 4

Opal Categories API declares 4 security schemes for authenticating requests. It supports OAuth 2.0 (oauth2) using the authorizationCode flow, exposing 1 scope. It supports OAuth 2.0 (anonymous_oauth) using the clientCredentials flow, exposing 1 scope. An API key is passed in the header as Session-Token (api_key). An API key is passed in the cookie as share_token (presentation_share_cookie).

  • oauth2 — This API uses OAuth 2.0 with the authorization code grant flow. You can find more detailed authentication instructions in the [Authentication Strategies](/api/…
  • anonymous_oauth — The OAuth 2.0 client credentials flow is used for secure server-server requests when Opal does not need to associate a request with a particular Opal user. The…
  • api_key — (Deprecated) This API also supports authentication via an API or session token set in the request headers.
  • presentation_share_cookie — A cookie set and read by the Monolith service that authorizes a non-opal user to view a presentation and the resources within it. Other services can rely on th…

Paths & Operations 4

Across 2 paths, the API surfaces 4 operations — 1 DELETE, 1 GET, 1 PATCH, 1 POST. Each is listed below with its method, path, parameters, and response codes.

Categories 4

Overview Categories are in a tree: a given category has zero or more ancestors and zero or more descendants. The tree is built by recursively following parentcategory relationship…

POST
/loupe/v3/categories
Create a new Category
CreateCategoryV3 1 param body → 201400401403422500
GET
/loupe/v3/categories/{category_id}
Get a Category by the given ID
ReadCategoryV3 3 params → 200401403404
PATCH
/loupe/v3/categories/{category_id}
Update an existing Category.
UpdateCategoryV3 2 params body → 200400401403404409422
DELETE
/loupe/v3/categories/{category_id}
Delete a Category by the given ID
DeleteCategoryV3 1 param → 204403404

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

opal-categories-api-openapi.yml Raw ↑

Other APIs Opal publishes across the network.

Opal Accounts API
Opal Activities API
Opal Annotations API
Opal Asset Reference Options API
Opal Asset Reference Usage Rights Options API
Opal Asset References API
Opal Assets API
Opal Block Connectors API
Opal Block Custom Field Values API
Opal Block Duplication API
Opal Blocks API
Opal Board Collaborators API
Where this information came from

This is an independent, third-party profile of Opal Categories API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.