naftiko: 1.0.0-alpha2 info: label: TIDAL Users API — Users description: TIDAL Users API — Users. 6 operations. Self-contained Naftiko capability covering one TIDAL business surface. tags: - TIDAL - Music - users - userReports - userDataExportRequests - temporaryUserTokens created: '2026-05-25' modified: '2026-05-25' binds: - namespace: env keys: TIDAL_ACCESS_TOKEN: TIDAL_ACCESS_TOKEN capability: consumes: - type: http namespace: users-users baseUri: https://openapi.tidal.com description: TIDAL Users API — Users business capability. Self-contained, no shared references. resources: - name: temporaryUserTokens path: /temporaryUserTokens operations: - name: posttemporaryusertokens method: POST description: Create single temporaryUserToken. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: JSON:API document request body. required: true - name: temporaryUserTokens-id path: /temporaryUserTokens/{id} operations: - name: gettemporaryusertokens method: GET description: Get single temporaryUserToken. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Temporary user token id required: true - name: include in: query type: array description: 'Allows the client to customize which related resources should be returned. Available options: owners' required: false - name: temporaryUserTokens-id-relationships-owners path: /temporaryUserTokens/{id}/relationships/owners operations: - name: gettemporaryusertokens method: GET description: Get owners relationship ("to-many"). outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: Temporary user token id required: true - name: include in: query type: array description: 'Allows the client to customize which related resources should be returned. Available options: owners' required: false - name: page[cursor] in: query type: string description: Server-generated cursor value pointing a certain page of items. Optional, targets first page if not specified required: false - name: userDataExportRequests path: /userDataExportRequests operations: - name: postuserdataexportrequests method: POST description: Create single userDataExportRequest. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: JSON:API document request body. required: true - name: userReports path: /userReports operations: - name: postuserreports method: POST description: Create single userReport. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: JSON:API document request body. required: true - name: users-id path: /users/{id} operations: - name: getusers method: GET description: Get single user. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: id in: path type: string description: User id. Use `me` for the authenticated user's resource required: true authentication: type: bearer value: '{{env.TIDAL_ACCESS_TOKEN}}' placement: header header: Authorization prefix: 'Bearer ' exposes: - type: rest namespace: users-users-rest port: 8080 description: REST adapter for TIDAL Users API — Users. One Spectral-compliant resource per consumed operation, prefixed with /v2. resources: - path: /v2/temporaryUserTokens name: temporaryUserTokens description: REST surface for temporaryUserTokens. operations: - method: POST name: posttemporaryusertokens description: Create single temporaryUserToken. call: users-users.posttemporaryusertokens with: body: rest.body outputParameters: - type: object mapping: $. - path: /v2/temporaryUserTokens/{id} name: temporaryUserTokens-id description: REST surface for temporaryUserTokens-id. operations: - method: GET name: gettemporaryusertokens description: Get single temporaryUserToken. call: users-users.gettemporaryusertokens with: id: rest.path.id include: rest.query.include outputParameters: - type: object mapping: $. - path: /v2/temporaryUserTokens/{id}/relationships/owners name: temporaryUserTokens-id-relationships-owners description: REST surface for temporaryUserTokens-id-relationships-owners. operations: - method: GET name: gettemporaryusertokens description: Get owners relationship ("to-many"). call: users-users.gettemporaryusertokens with: id: rest.path.id include: rest.query.include page[cursor]: rest.query.page[cursor] outputParameters: - type: object mapping: $. - path: /v2/userDataExportRequests name: userDataExportRequests description: REST surface for userDataExportRequests. operations: - method: POST name: postuserdataexportrequests description: Create single userDataExportRequest. call: users-users.postuserdataexportrequests with: body: rest.body outputParameters: - type: object mapping: $. - path: /v2/userReports name: userReports description: REST surface for userReports. operations: - method: POST name: postuserreports description: Create single userReport. call: users-users.postuserreports with: body: rest.body outputParameters: - type: object mapping: $. - path: /v2/users/{id} name: users-id description: REST surface for users-id. operations: - method: GET name: getusers description: Get single user. call: users-users.getusers with: id: rest.path.id outputParameters: - type: object mapping: $. - type: mcp namespace: users-users-mcp port: 9090 transport: http description: MCP adapter for TIDAL Users API — Users. One tool per consumed operation. tools: - name: tidal-posttemporaryusertokens description: Create single temporaryUserToken. hints: readOnly: false destructive: false idempotent: false call: users-users.posttemporaryusertokens with: body: tools.body outputParameters: - type: object mapping: $. - name: tidal-gettemporaryusertokens description: Get single temporaryUserToken. hints: readOnly: true destructive: false idempotent: true call: users-users.gettemporaryusertokens with: id: tools.id include: tools.include outputParameters: - type: object mapping: $. - name: tidal-gettemporaryusertokens description: Get owners relationship ("to-many"). hints: readOnly: true destructive: false idempotent: true call: users-users.gettemporaryusertokens with: id: tools.id include: tools.include page[cursor]: tools.page[cursor] outputParameters: - type: object mapping: $. - name: tidal-postuserdataexportrequests description: Create single userDataExportRequest. hints: readOnly: false destructive: false idempotent: false call: users-users.postuserdataexportrequests with: body: tools.body outputParameters: - type: object mapping: $. - name: tidal-postuserreports description: Create single userReport. hints: readOnly: false destructive: false idempotent: false call: users-users.postuserreports with: body: tools.body outputParameters: - type: object mapping: $. - name: tidal-getusers description: Get single user. hints: readOnly: true destructive: false idempotent: true call: users-users.getusers with: id: tools.id outputParameters: - type: object mapping: $.