Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Admin API V1 Category Attribute Types API
12 actions
12 updates
phrasing
extends
openapi/optimizely-category-attribute-types-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Optimizely's API. It is a proposal applied on top of the contract, not a document Optimizely publishes.
What the actions change
x-apievangelist-phrasing
Targets 12
$.info
$.paths['/api/v1/admin/CategoryAttributeTypes'].get
$.paths['/api/v1/admin/CategoryAttributeTypes'].post
$.paths['/api/v1/admin/CategoryAttributeTypes({id})'].get
$.paths['/api/v1/admin/CategoryAttributeTypes({id})'].put
$.paths['/api/v1/admin/CategoryAttributeTypes({id})'].delete
$.paths['/api/v1/admin/CategoryAttributeTypes({id})'].patch
$.paths['/api/v1/admin/CategoryAttributeTypes/Default.Default()'].get
$.paths['/api/v1/admin/CategoryAttributeTypes/Default.archive'].post
$.paths['/api/v1/admin/categoryattributetypes/archive'].delete
$.paths['/api/v1/admin/categoryattributetypes/delete'].delete
$.paths['/api/v1/admin/categoryattributetypes({key})/customproperties({custompropertyKey})'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Admin API V1 Category Attribute Types API
version: 1.0.0
extends: openapi/optimizely-category-attribute-types-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 11
- target: $.paths['/api/v1/admin/CategoryAttributeTypes'].get
update:
x-apievangelist-phrasing:
intent: List attribute types assigned to categories
effect: read
questions:
- How do I list which attribute types are attached to product categories?
- Can I filter category attribute assignments to one category with OData?
instructions:
- text: List all category attribute type assignments.
- text: List category attribute types matching {filter}.
slots:
filter: query.$filter
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/CategoryAttributeTypes'].post
update:
x-apievangelist-phrasing:
intent: Assign an attribute type to a category
effect: write
questions:
- How do I attach an attribute type like color or size to a product category?
- Can I set the display order when adding an attribute type to a category?
instructions:
- text: Assign attribute type {attributeTypeId} to category {categoryId}.
slots:
attributeTypeId: requestBody.attributeTypeId
categoryId: requestBody.categoryId
- text: Add attribute type {attributeTypeId} to category {categoryId} with sort order {sortOrder}.
slots:
attributeTypeId: requestBody.attributeTypeId
categoryId: requestBody.categoryId
sortOrder: requestBody.sortOrder
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/CategoryAttributeTypes({id})'].get
update:
x-apievangelist-phrasing:
intent: Get one category attribute type assignment
effect: read
questions:
- How do I look up a single category-to-attribute-type link by its id?
- Can I see the sort order of one category attribute assignment?
instructions:
- text: Get category attribute type {id}.
slots:
id: path.id
- text: Show the category attribute assignment with id {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/CategoryAttributeTypes({id})'].put
update:
x-apievangelist-phrasing:
intent: Replace a category attribute type assignment
effect: write
questions:
- How do I overwrite a category attribute type assignment entirely?
- Is there a full replace for a category's attribute type link?
instructions:
- text: Replace category attribute type {id} so it links category {categoryId} to attribute type {attributeTypeId}.
slots:
id: path.id
categoryId: requestBody.categoryId
attributeTypeId: requestBody.attributeTypeId
- text: Overwrite the full record of category attribute type {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/CategoryAttributeTypes({id})'].delete
update:
x-apievangelist-phrasing:
intent: Remove an attribute type from a category
effect: destructive
questions:
- How do I detach one attribute type from a category?
- Can I delete a category attribute assignment only when the ETag matches?
instructions:
- text: Delete category attribute type {id}.
slots:
id: path.id
- text: Delete category attribute type {id} if its ETag is {etag}.
slots:
id: path.id
etag: header.If-Match
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/CategoryAttributeTypes({id})'].patch
update:
x-apievangelist-phrasing:
intent: Update fields on a category attribute type
effect: write
questions:
- How do I deactivate an attribute type on a category without resending everything?
- Can I just change the detail display sequence of a category attribute?
instructions:
- text: Set isActive to {isActive} on category attribute type {id}.
slots:
isActive: requestBody.isActive
id: path.id
- text: Patch category attribute type {id} with detail display sequence {detailDisplaySequence}.
slots:
id: path.id
detailDisplaySequence: requestBody.detailDisplaySequence
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/CategoryAttributeTypes/Default.Default()'].get
update:
x-apievangelist-phrasing:
intent: Get the default category attribute type record
effect: read
questions:
- What does a default category attribute type record look like?
- Can I fetch the starting values for a new category attribute assignment?
instructions:
- text: Get the default category attribute type record.
- text: Show the template values for a new category attribute type.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/CategoryAttributeTypes/Default.archive'].post
update:
x-apievangelist-phrasing:
intent: Archive category attribute types via action
effect: write
questions:
- How do I archive category attribute assignments with the OData archive action?
- Can I archive several category attribute types instead of deleting them?
instructions:
- text: Run the archive action on category attribute types {ids}.
slots:
ids: query.ids
- text: Archive category attribute types {ids} with the POST archive call.
slots:
ids: query.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/categoryattributetypes/archive'].delete
update:
x-apievangelist-phrasing:
intent: Archive category attribute types via route
effect: destructive
questions:
- Is there a DELETE archive route for category attribute types?
- How do I archive category attribute assignments through the archive endpoint?
instructions:
- text: Archive category attribute types {ids} through the DELETE archive route.
slots:
ids: query.ids
- text: Send category attribute types {ids} to the archive route.
slots:
ids: query.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/categoryattributetypes/delete'].delete
update:
x-apievangelist-phrasing:
intent: Bulk delete category attribute types
effect: destructive
questions:
- How do I delete many category attribute assignments in one call?
- Can I bulk remove category attribute types by a list of ids?
instructions:
- text: Bulk delete category attribute types {ids}.
slots:
ids: query.ids
- text: 'Remove these category attribute assignments at once: {ids}.'
slots:
ids: query.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/categoryattributetypes({key})/customproperties({custompropertyKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a custom property on a category attribute type
effect: read
questions:
- How do I read a custom property stored on a category attribute type?
- Can I fetch one extension property of a category attribute assignment?
instructions:
- text: Get custom property {custompropertyKey} on category attribute type {key}.
slots:
custompropertyKey: path.custompropertyKey
key: path.key
- text: Show the value of custom property {custompropertyKey} for category attribute type {key}.
slots:
custompropertyKey: path.custompropertyKey
key: path.key
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/optimizely-category-attribute-types-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.