Discogs · Capability
Discogs API — User Collection
Discogs — User Collection. 4 operations. Lead operation: Get collection folders. Self-contained Naftiko capability covering one Discogs business surface.
What You Can Do
GET
Getcollectionfolders
— Get collection folders
/v1/users/{username}/collection/folders
POST
Createcollectionfolder
— Create a collection folder
/v1/users/{username}/collection/folders
GET
Getcollectionitemsbyfolder
— Get collection items by folder
/v1/users/{username}/collection/folders/{folder-id}/releases
POST
Addreleasetocollectionfolder
— Add release to collection folder
/v1/users/{username}/collection/folders/{folder-id}/releases/{release-id}
MCP Tools
list-collection-folders
Get collection folders
read-only
idempotent
create-collection-folder
Create a collection folder
getcollectionitemsbyfolder
Get collection items by folder
read-only
idempotent
addreleasetocollectionfolder
Add release to collection folder
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Discogs API — User Collection
description: 'Discogs — User Collection. 4 operations. Lead operation: Get collection folders. Self-contained Naftiko capability covering one Discogs business surface.'
tags:
- Discogs
- Music
- User Collection
created: '2026-05-29'
modified: '2026-05-29'
binds:
- namespace: env
keys:
DISCOGS_TOKEN: DISCOGS_TOKEN
capability:
consumes:
- type: http
namespace: discogs-user-collection
baseUri: https://api.discogs.com
description: Discogs API — User Collection business capability. Self-contained, no shared references.
authentication:
type: apikey
key: Authorization
value: Discogs token={{env.DISCOGS_TOKEN}}
placement: header
resources:
- name: users-username-collection-folders
path: /users/{username}/collection/folders
operations:
- name: getcollectionfolders
method: GET
description: Get collection folders
inputParameters:
- name: username
in: path
type: string
required: true
description: The user's Discogs username.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: createcollectionfolder
method: POST
description: Create a collection folder
inputParameters:
- name: username
in: path
type: string
required: true
description: The user's Discogs username.
- name: body
in: body
type: object
required: true
description: Request body (JSON).
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: users-username-collection-folders-folder-id-releases
path: /users/{username}/collection/folders/{folder_id}/releases
operations:
- name: getcollectionitemsbyfolder
method: GET
description: Get collection items by folder
inputParameters:
- name: username
in: path
type: string
required: true
description: The user's Discogs username.
- name: folder_id
in: path
type: integer
required: true
description: The ID of the collection folder.
- name: page
in: query
type: integer
required: false
description: The page number to return.
- name: per_page
in: query
type: integer
required: false
description: The number of items to return per page.
- name: sort
in: query
type: string
required: false
description: The field to sort the results by.
- name: sort_order
in: query
type: string
required: false
description: The order to sort the results.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
- name: users-username-collection-folders-folder-id-releases-release-id
path: /users/{username}/collection/folders/{folder_id}/releases/{release_id}
operations:
- name: addreleasetocollectionfolder
method: POST
description: Add release to collection folder
inputParameters:
- name: username
in: path
type: string
required: true
description: The user's Discogs username.
- name: folder_id
in: path
type: integer
required: true
description: The ID of the collection folder.
- name: release_id
in: path
type: integer
required: true
description: The ID of the release.
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
exposes:
- type: rest
namespace: discogs-user-collection-rest
port: 8080
description: REST adapter for Discogs API — User Collection. One Spectral-compliant resource per consumed operation, prefixed with /v1.
resources:
- path: /v1/users/{username}/collection/folders
name: users-username-collection-folders
description: REST surface for Get collection folders.
operations:
- method: GET
name: getcollectionfolders
description: Get collection folders
call: discogs-user-collection.getcollectionfolders
outputParameters:
- type: object
mapping: $.
with:
username: rest.username
- path: /v1/users/{username}/collection/folders
name: users-username-collection-folders
description: REST surface for Create a collection folder.
operations:
- method: POST
name: createcollectionfolder
description: Create a collection folder
call: discogs-user-collection.createcollectionfolder
outputParameters:
- type: object
mapping: $.
with:
username: rest.username
body: rest.body
- path: /v1/users/{username}/collection/folders/{folder-id}/releases
name: users-username-collection-folders-folder-id-releases
description: REST surface for Get collection items by folder.
operations:
- method: GET
name: getcollectionitemsbyfolder
description: Get collection items by folder
call: discogs-user-collection.getcollectionitemsbyfolder
outputParameters:
- type: object
mapping: $.
with:
username: rest.username
folder_id: rest.folder_id
page: rest.page
per_page: rest.per_page
sort: rest.sort
sort_order: rest.sort_order
- path: /v1/users/{username}/collection/folders/{folder-id}/releases/{release-id}
name: users-username-collection-folders-folder-id-releases-release-id
description: REST surface for Add release to collection folder.
operations:
- method: POST
name: addreleasetocollectionfolder
description: Add release to collection folder
call: discogs-user-collection.addreleasetocollectionfolder
outputParameters:
- type: object
mapping: $.
with:
username: rest.username
folder_id: rest.folder_id
release_id: rest.release_id
- type: mcp
namespace: discogs-user-collection-mcp
port: 9090
transport: http
description: MCP adapter for Discogs API — User Collection. One tool per consumed operation, routed inline through this capability's consumes block.
tools:
- name: list-collection-folders
description: Get collection folders
hints:
readOnly: true
destructive: false
idempotent: true
call: discogs-user-collection.getcollectionfolders
outputParameters:
- type: object
mapping: $.
with:
username: tools.username
- name: create-collection-folder
description: Create a collection folder
hints:
readOnly: false
destructive: false
idempotent: false
call: discogs-user-collection.createcollectionfolder
outputParameters:
- type: object
mapping: $.
with:
username: tools.username
body: tools.body
- name: getcollectionitemsbyfolder
description: Get collection items by folder
hints:
readOnly: true
destructive: false
idempotent: true
call: discogs-user-collection.getcollectionitemsbyfolder
outputParameters:
- type: object
mapping: $.
with:
username: tools.username
folder_id: tools.folder_id
page: tools.page
per_page: tools.per_page
sort: tools.sort
sort_order: tools.sort_order
- name: addreleasetocollectionfolder
description: Add release to collection folder
hints:
readOnly: false
destructive: false
idempotent: false
call: discogs-user-collection.addreleasetocollectionfolder
outputParameters:
- type: object
mapping: $.
with:
username: tools.username
folder_id: tools.folder_id
release_id: tools.release_id