Opal Custom Fields API

## Custom Fields Overview Custom Fields let you create custom inputs, the value of which can then be associated with a Moment, and allow your users to track dimensions based on your specific needs. - **[Custom Fields](#tag/Custom-Fields)**: An admin within a workspace can create a custom field to store new attributes on a [Moment](#tag/Moments/operation/CreateMomentV3). - **[Custom Field Types](#tag/Custom-Field-Types)**: The available types of custom fields which an admin can create, such as a Date input. - **[Moment Custom Fields](#tag/Moment-Custom-Fields)**: This resource lets one assign a ``value`` to the given Custom Field for the given Moment. Note that the expected attribute to use on this resource is determined by the [Custom Field Type](#tag/Custom-Field-Types) that the [Custom Fields](#tag/Custom-Fields) is based on. - ``text_value``: A primitive string - ``date_value``: An ISO8601 date-time - ``hash_value``: A JSON object for [Custom Fields](#tag/Custom-Fields) which store complex data structures ### Pairing Multiselect custom fields can be paired with [label sets](/api/documentation/v2#tag/Label-Sets) (`paired_label_set`), with the field’s options paired to the label set’s labels (`paired_label`). Once this pairing is established, the application will automatically do bidirectional syncing: choosing the multiselect’s options will apply the corresponding labels to the moment, and vice versa. Both systems are supported, and the syncing should behave seamlessly, but at some point we will sunset the label system in favor of custom fields. We encourage using custom fields for new development.

Operations 5

GET /loupe/v3/custom_fields Get CustomFields available to the authenticated user #
POST /loupe/v3/custom_fields Create a new CustomField #
GET /loupe/v3/custom_fields/{custom_field_id} Get a CustomField #
PATCH /loupe/v3/custom_fields/{custom_field_id} Update an existing CustomField #
DELETE /loupe/v3/custom_fields/{custom_field_id} Delete a CustomField #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/opal-custom-fields-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

opal-custom-fields-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: 3.0.0
  title: Opal API (⚠️ WIP) Custom Fields API
  license:
    name: Opal API License
    url: https://www.workwithopal.com/api-license
  description: The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “NOT RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.
servers:
- url: https://login.ouropal.com
tags:


# --- truncated at 32 KB (198 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/opal/refs/heads/main/openapi/opal-custom-fields-api-openapi.yml