openapi: 3.1.0 info: title: Golioth Management Access Credentials API version: '1.0' description: 'Golioth IoT Device Management REST API. Authenticate with project-scoped API keys passed in the x-api-key header. Upstream OpenAPI: https://api.golioth.io/openapi.json' servers: - url: https://api.golioth.io security: - API Key: [] Bearer: [] tags: - name: Credentials paths: /v1/projects/{projectId}/credentials: post: operationId: Credentials_Create2 parameters: - in: path name: projectId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/goliothCredentialsCreateBody' required: true x-originalParamName: body responses: '200': content: application/json: schema: $ref: '#/components/schemas/goliothCreateCredentialResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/rpcStatus' description: An unexpected error response. tags: - Credentials /v1/projects/{projectId}/credentials/{credentialId}: delete: operationId: Credentials_Delete2 parameters: - in: path name: projectId required: true schema: type: string - in: path name: credentialId required: true schema: type: string - in: query name: deviceId schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/goliothDeleteCredentialResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/rpcStatus' description: An unexpected error response. tags: - Credentials /v1/projects/{projectId}/devices/{deviceId}/credentials: get: operationId: Credentials_List parameters: - in: path name: projectId required: true schema: type: string - in: path name: deviceId required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/goliothListCredentialResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/rpcStatus' description: An unexpected error response. tags: - Credentials post: operationId: Credentials_Create parameters: - in: path name: projectId required: true schema: type: string - in: path name: deviceId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/goliothCredentialsCreateBody' required: true x-originalParamName: body responses: '200': content: application/json: schema: $ref: '#/components/schemas/goliothCreateCredentialResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/rpcStatus' description: An unexpected error response. tags: - Credentials /v1/projects/{projectId}/devices/{deviceId}/credentials/{credentialId}: delete: operationId: Credentials_Delete parameters: - in: path name: projectId required: true schema: type: string - in: path name: deviceId required: true schema: type: string - in: path name: credentialId required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/goliothDeleteCredentialResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/rpcStatus' description: An unexpected error response. tags: - Credentials components: schemas: protobufAny: additionalProperties: {} properties: '@type': type: string type: object goliothListCredentialResponse: properties: list: items: $ref: '#/components/schemas/goliothCredential' type: array type: object goliothCredentialType: default: PRE_SHARED_KEY enum: - PRE_SHARED_KEY - ASYMMETRIC_KEY_PAIR type: string goliothCredential: properties: createdAt: format: date-time type: string id: type: string identity: type: string preSharedKey: type: string type: $ref: '#/components/schemas/goliothCredentialType' type: object goliothCreateCredentialResponse: properties: data: $ref: '#/components/schemas/goliothCredential' type: object goliothDeleteCredentialResponse: type: object goliothCredentialsCreateBody: properties: deviceId: type: string identity: type: string preSharedKey: type: string type: $ref: '#/components/schemas/goliothCredentialType' type: object rpcStatus: properties: code: format: int32 type: integer details: items: $ref: '#/components/schemas/protobufAny' type: array message: type: string type: object securitySchemes: API Key: in: header name: x-api-key type: apiKey Bearer: in: header name: Authorization type: apiKey externalDocs: description: golioth API url: https://docs.golioth.io