openapi: 3.1.0
info:
title: WD My Cloud Home Authentication Configuration API
description: The WD My Cloud Home REST API enables off-device applications to manage files and folders on a user's My Cloud Home NAS device. It supports file upload, download, listing, search, sharing, thumbnails, and device discovery via OAuth 2.0 authentication.
version: v2
termsOfService: https://www.westerndigital.com/legal/terms-of-use
contact:
name: Western Digital Developer Support
url: https://developer.westerndigital.com/develop/wd-my-cloud-home/forms.html
license:
name: Western Digital Developer Terms
url: https://developer.westerndigital.com/develop/wd-my-cloud-home/
servers:
- url: https://config.mycloud.com
description: Configuration service — call first to get device and auth URLs
- url: https://device.mycloud.com
description: Device service (dynamically resolved per device)
- url: https://wdc.auth0.com
description: Authentication service
tags:
- name: Configuration
description: Retrieve dynamic service endpoint configuration.
paths:
/config/v1/config:
get:
operationId: getServiceConfiguration
summary: Get Service Configuration
description: Returns all service endpoint URLs used by My Cloud Home applications, including device, auth, and network service URLs. Applications must call this endpoint first to resolve dynamic service URLs before making subsequent API calls.
tags:
- Configuration
responses:
'200':
description: Service configuration object.
content:
application/json:
schema:
$ref: '#/components/schemas/ServiceConfiguration'
example:
data:
cloud:
service:
urls:
componentMap:
service.device.url: https://device.mycloud.com
service.devicenetwork.url: https://devicenetwork.mycloud.com
service.auth0.url: https://wdc.auth0.com
service.auth.url: https://auth.mycloud.com
components:
schemas:
ServiceConfiguration:
type: object
description: Dynamic service endpoint configuration.
properties:
data:
type: object
properties:
cloud:
type: object
properties:
service:
type: object
properties:
urls:
type: object
properties:
componentMap:
type: object
additionalProperties:
type: string
securitySchemes:
bearerAuth:
type: http
scheme: bearer
bearerFormat: JWT
description: OAuth 2.0 Bearer token obtained via the /oauth/token endpoint. Include in Authorization header as "Bearer {token}".