The Co-operative Bank Tag (v1) API
Legacy tag management endpoints (deprecated - use v2 TagResource instead)
Legacy tag management endpoints (deprecated - use v2 TagResource instead)
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/co-operative-bank:co-operative-bank-tag-v1-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
title: dotCMS REST Tag (v1) API
version: '3'
description: Legacy tag management endpoints (deprecated - use v2 TagResource instead)
servers:
- url: /
description: dotCMS Server
tags:
- name: Tag (v1)
description: Legacy tag management endpoints (deprecated - use v2 TagResource instead)
paths:
/api/v1/tags:
get:
tags:
- Tag (v1)
summary: List or search tags (deprecated)
description: Lists all tags or searches by name with optional site filtering. If a name is provided, a search-by-name (like) operation is performed. If no matches are found for the site, global tags are searched. This endpoint is deprecated - use v2 TagResource instead.
operationId: getTagsV1
parameters:
- name: name
in: query
description: Tag name to search for (supports partial matching)
schema:
type: string
- name: siteId
in: query
description: Site identifier to restrict tag search
schema:
type: string
responses:
'200':
description: Tags retrieved successfully
content:
application/json:
schema:
type: object
description: Map of tag names to RestTag objects
'401':
description: Unauthorized - authentication required
content:
application/json: {}
deprecated: true
put:
tags:
- Tag (v1)
summary: Update a tag (deprecated)
description: Updates an existing tag's name and site association. Requires tagId, tagName, and siteId in the request body. This endpoint is deprecated - use v2 TagResource instead.
operationId: updateTagV1
requestBody:
content:
'*/*':
schema:
$ref: '#/components/schemas/UpdateTagForm'
responses:
'200':
description: Tag updated successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseEntityTagsView'
'400':
description: Invalid or incomplete tag data provided
content:
application/json: {}
'401':
description: Unauthorized - authentication required
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
'404':
description: Tag not found for the given ID
content:
application/json: {}
deprecated: true
post:
tags:
- Tag (v1)
summary: Create tags (deprecated)
description: Creates new tags and optionally links them to an owner user. This endpoint is deprecated - use v2 TagResource instead.
operationId: addTagV1
requestBody:
content:
'*/*':
schema:
$ref: '#/components/schemas/TagForm'
responses:
'200':
description: Tags created successfully (may contain partial errors)
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseEntityTagOperationView'
'400':
description: Invalid tag data provided
content:
application/json: {}
'401':
description: Unauthorized - authentication required
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
deprecated: true
/api/v1/tags/{tagId}:
delete:
tags:
- Tag (v1)
summary: Delete a tag by ID (deprecated)
description: Deletes a tag by its ID. The user must have EDIT permission on all contentlets associated with the tag. If the tag has no contentlet associations (orphan tag), deletion is allowed. This endpoint is deprecated - use v2 TagResource instead.
operationId: deleteTagV1
parameters:
- name: tagId
in: path
description: Tag identifier to delete
required: true
schema:
type: string
responses:
'200':
description: Tag deleted successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseEntityStringView'
'401':
description: Unauthorized - authentication required
content:
application/json: {}
'403':
description: Forbidden - user lacks permission to delete the tag
content:
application/json: {}
'404':
description: Tag not found for the given ID
content:
application/json: {}
deprecated: true
/api/v1/tags/inode/{inode}:
get:
tags:
- Tag (v1)
summary: Get tags by inode (deprecated)
description: Retrieves all tag-inode associations for a given inode. This endpoint is deprecated - use v2 TagResource instead.
operationId: findTagsByInodeV1
parameters:
- name: inode
in: path
description: Inode identifier to retrieve associated tags for
required: true
schema:
type: string
responses:
'200':
description: Tag-inode associations retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseEntityTagInodesView'
'401':
description: Unauthorized - authentication required
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
'404':
description: No tags found for the given inode
content:
application/json: {}
deprecated: true
delete:
tags:
- Tag (v1)
summary: Remove all tag-inode links for an inode (deprecated)
description: Breaks the link between an inode and all its associated tags. This endpoint is deprecated - use v2 TagResource instead.
operationId: deleteTagInodesByInodeV1
parameters:
- name: inode
in: path
description: Inode identifier to remove all tag associations from
required: true
schema:
type: string
responses:
'200':
description: Tag-inode associations removed successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseEntityStringView'
'400':
description: Error removing tag-inode associations
content:
application/json: {}
'401':
description: Unauthorized - authentication required
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
'404':
description: No tags found for the given inode
content:
application/json: {}
deprecated: true
/api/v1/tags/{nameOrId}:
get:
tags:
- Tag (v1)
summary: Get tags by name or ID (deprecated)
description: Looks up tags by tag name or tag ID. If the value is a UUID, lookup is performed by tag ID. Otherwise, lookup is performed by tag name. This endpoint is deprecated - use v2 TagResource instead.
operationId: getTagsByNameOrIdV1
parameters:
- name: nameOrId
in: path
description: Tag name or tag UUID to look up
required: true
schema:
type: string
responses:
'200':
description: Tags found successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseEntityTagsView'
'401':
description: Unauthorized - authentication required
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
'404':
description: No tags found matching the given name or ID
content:
application/json: {}
deprecated: true
/api/v1/tags/user/{userId}:
get:
tags:
- Tag (v1)
summary: Get tags by user ID (deprecated)
description: Retrieves all tags owned by a given user. Returns tags that were assigned an owner during creation. This endpoint is deprecated - use v2 TagResource instead.
operationId: getTagsByUserIdV1
parameters:
- name: userId
in: path
description: User identifier to retrieve owned tags for
required: true
schema:
type: string
responses:
'200':
description: Tags retrieved successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseEntityTagsView'
'401':
description: Unauthorized - authentication required
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
'404':
description: No tags found for the given user ID
content:
application/json: {}
deprecated: true
/api/v1/tags/import:
post:
tags:
- Tag (v1)
summary: Import tags from file (deprecated)
description: Imports tags from an uploaded file using multipart form data. This endpoint is deprecated - use v2 TagResource instead.
operationId: importTagsV1
requestBody:
content:
multipart/form-data:
schema:
$ref: '#/components/schemas/FormDataMultiPart'
responses:
'200':
description: Tags imported successfully
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseEntityStringView'
'400':
description: Failure importing tags file
content:
application/json: {}
'401':
description: Unauthorized - authentication required
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
deprecated: true
/api/v1/tags/tag/{nameOrId}/inode/{inode}:
put:
tags:
- Tag (v1)
summary: Link tags to an inode (deprecated)
description: Binds a tag with a given inode. The lookup can be done via tag name or tag ID. If the tag name matches more than one tag, all matching tags will be bound. Use a tag ID instead of a name for more specific binding. This endpoint is deprecated - use v2 TagResource instead.
operationId: linkTagsAndInodeV1
parameters:
- name: nameOrId
in: path
description: Tag name or tag UUID to link
required: true
schema:
type: string
- name: inode
in: path
description: Inode identifier to link the tag(s) to
required: true
schema:
type: string
responses:
'200':
description: Tags linked to inode successfully (may contain partial errors)
content:
application/json:
schema:
$ref: '#/components/schemas/ResponseEntityTagInodeOperationView'
'400':
description: Error linking tag to inode
content:
application/json: {}
'401':
description: Unauthorized - authentication required
content:
application/json: {}
'403':
description: Forbidden - insufficient permissions
content:
application/json: {}
'404':
description: No tags found matching the given name or ID
content:
application/json: {}
deprecated: true
components:
schemas:
FormDataBodyPart:
type: object
properties:
contentDisposition:
$ref: '#/components/schemas/ContentDisposition'
entity:
type: object
headers:
type: object
additionalProperties:
type: array
items:
type: string
mediaType:
type: object
properties:
type:
type: string
subtype:
type: string
parameters:
type: object
additionalProperties:
type: string
wildcardType:
type: boolean
wildcardSubtype:
type: boolean
messageBodyWorkers:
$ref: '#/components/schemas/MessageBodyWorkers'
parent:
$ref: '#/components/schemas/MultiPart'
providers:
type: object
formDataContentDisposition:
$ref: '#/components/schemas/FormDataContentDisposition'
simple:
type: boolean
name:
type: string
value:
type: string
parameterizedHeaders:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/ParameterizedHeader'
UpdateTagForm:
required:
- siteId
- tagName
type: object
properties:
siteId:
type: string
tagName:
type: string
tagId:
type: string
name:
type: string
ResponseEntityTagInodesView:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/ErrorEntity'
entity:
type: array
items:
$ref: '#/components/schemas/TagInode'
messages:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
i18nMessagesMap:
type: object
additionalProperties:
type: string
permissions:
type: array
items:
type: string
pagination:
$ref: '#/components/schemas/Pagination'
ResponseEntityTagsView:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/ErrorEntity'
entity:
type: object
additionalProperties:
$ref: '#/components/schemas/RestTag'
messages:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
i18nMessagesMap:
type: object
additionalProperties:
type: string
permissions:
type: array
items:
type: string
pagination:
$ref: '#/components/schemas/Pagination'
ContentDisposition:
type: object
properties:
type:
type: string
parameters:
type: object
additionalProperties:
type: string
fileName:
type: string
creationDate:
type: string
format: date-time
modificationDate:
type: string
format: date-time
readDate:
type: string
format: date-time
size:
type: integer
format: int64
ResponseEntityTagOperationView:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/ErrorEntity'
entity:
type: object
additionalProperties:
type: object
messages:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
i18nMessagesMap:
type: object
additionalProperties:
type: string
permissions:
type: array
items:
type: string
pagination:
$ref: '#/components/schemas/Pagination'
ErrorEntity:
type: object
properties:
errorCode:
type: string
message:
type: string
fieldName:
type: string
Pagination:
type: object
properties:
currentPage:
type: integer
format: int32
perPage:
type: integer
format: int32
totalEntries:
type: integer
format: int64
TagInode:
type: object
properties:
inode:
type: string
tagId:
type: string
fieldVarName:
type: string
modDate:
type: string
format: date-time
FormDataContentDisposition:
type: object
properties:
type:
type: string
parameters:
type: object
additionalProperties:
type: string
fileName:
type: string
creationDate:
type: string
format: date-time
modificationDate:
type: string
format: date-time
readDate:
type: string
format: date-time
size:
type: integer
format: int64
name:
type: string
ParameterizedHeader:
type: object
properties:
value:
type: string
parameters:
type: object
additionalProperties:
type: string
MultiPart:
type: object
properties:
contentDisposition:
$ref: '#/components/schemas/ContentDisposition'
entity:
type: object
headers:
type: object
additionalProperties:
type: array
items:
type: string
mediaType:
type: object
properties:
type:
type: string
subtype:
type: string
parameters:
type: object
additionalProperties:
type: string
wildcardType:
type: boolean
wildcardSubtype:
type: boolean
messageBodyWorkers:
$ref: '#/components/schemas/MessageBodyWorkers'
parent:
$ref: '#/components/schemas/MultiPart'
providers:
type: object
bodyParts:
type: array
items:
$ref: '#/components/schemas/BodyPart'
parameterizedHeaders:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/ParameterizedHeader'
MessageBodyWorkers:
type: object
ResponseEntityStringView:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/ErrorEntity'
entity:
type: string
messages:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
i18nMessagesMap:
type: object
additionalProperties:
type: string
permissions:
type: array
items:
type: string
pagination:
$ref: '#/components/schemas/Pagination'
MessageEntity:
type: object
properties:
message:
type: string
FormDataMultiPart:
type: object
properties:
contentDisposition:
$ref: '#/components/schemas/ContentDisposition'
entity:
type: object
headers:
type: object
additionalProperties:
type: array
items:
type: string
mediaType:
type: object
properties:
type:
type: string
subtype:
type: string
parameters:
type: object
additionalProperties:
type: string
wildcardType:
type: boolean
wildcardSubtype:
type: boolean
messageBodyWorkers:
$ref: '#/components/schemas/MessageBodyWorkers'
parent:
$ref: '#/components/schemas/MultiPart'
providers:
type: object
bodyParts:
type: array
items:
$ref: '#/components/schemas/BodyPart'
fields:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/FormDataBodyPart'
parameterizedHeaders:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/ParameterizedHeader'
RestTag:
type: object
properties:
label:
type: string
siteId:
type: string
siteName:
type: string
persona:
type: boolean
id:
type: string
ResponseEntityTagInodeOperationView:
type: object
properties:
errors:
type: array
items:
$ref: '#/components/schemas/ErrorEntity'
entity:
type: array
items:
$ref: '#/components/schemas/TagInode'
messages:
type: array
items:
$ref: '#/components/schemas/MessageEntity'
i18nMessagesMap:
type: object
additionalProperties:
type: string
permissions:
type: array
items:
type: string
pagination:
$ref: '#/components/schemas/Pagination'
BodyPart:
type: object
properties:
contentDisposition:
$ref: '#/components/schemas/ContentDisposition'
entity:
type: object
headers:
type: object
additionalProperties:
type: array
items:
type: string
mediaType:
type: object
properties:
type:
type: string
subtype:
type: string
parameters:
type: object
additionalProperties:
type: string
wildcardType:
type: boolean
wildcardSubtype:
type: boolean
messageBodyWorkers:
$ref: '#/components/schemas/MessageBodyWorkers'
parent:
$ref: '#/components/schemas/MultiPart'
providers:
type: object
parameterizedHeaders:
type: object
additionalProperties:
type: array
items:
$ref: '#/components/schemas/ParameterizedHeader'
TagForm:
required:
- name
type: object
properties:
name:
type: string
siteId:
type: string
ownerId:
type: string
persona:
type: boolean
x-provenance:
method: harvested
publisher: The Co-operative Bank
source: https://www.developer.co-operativebank.co.uk/api/openapi.json
note: split by refine-openapis from the provider's own published document, verified by fetch (openapi/_original/*.fetch.json);
stamped by stamp-openapi-provenance.py (roadmap#793)