openapi: 3.1.0 info: title: Golioth Management Access Projects 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: Projects paths: /v1/projects: get: operationId: Projects_List parameters: - in: query name: organizationId schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/goliothListProjectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/rpcStatus' description: An unexpected error response. tags: - Projects post: operationId: Projects_Create requestBody: content: application/json: schema: $ref: '#/components/schemas/goliothCreateProjectRequest' required: true x-originalParamName: body responses: '200': content: application/json: schema: $ref: '#/components/schemas/goliothCreateProjectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/rpcStatus' description: An unexpected error response. tags: - Projects /v1/projects/{projectId}: delete: operationId: Projects_Delete parameters: - in: path name: projectId required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/goliothDeleteProjectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/rpcStatus' description: An unexpected error response. tags: - Projects get: operationId: Projects_Get parameters: - in: path name: projectId required: true schema: type: string responses: '200': content: application/json: schema: $ref: '#/components/schemas/goliothGetProjectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/rpcStatus' description: An unexpected error response. tags: - Projects patch: operationId: Projects_Update2 parameters: - in: path name: projectId required: true schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/goliothProjectUpdate' required: true x-originalParamName: update responses: '200': content: application/json: schema: $ref: '#/components/schemas/goliothUpdateProjectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/rpcStatus' description: An unexpected error response. tags: - Projects put: operationId: Projects_Update parameters: - in: path name: projectId required: true schema: type: string - in: query name: updateMask schema: type: string requestBody: content: application/json: schema: $ref: '#/components/schemas/goliothProjectUpdate' required: true x-originalParamName: update responses: '200': content: application/json: schema: $ref: '#/components/schemas/goliothUpdateProjectResponse' description: A successful response. default: content: application/json: schema: $ref: '#/components/schemas/rpcStatus' description: An unexpected error response. tags: - Projects components: schemas: goliothProject: properties: createdAt: format: date-time type: string id: type: string name: type: string organizationId: type: string roles: items: type: string type: array updatedAt: format: date-time type: string type: object protobufAny: additionalProperties: {} properties: '@type': type: string type: object goliothGetProjectResponse: properties: data: $ref: '#/components/schemas/goliothProject' type: object goliothCreateProjectResponse: properties: data: $ref: '#/components/schemas/goliothProject' type: object goliothUpdateProjectResponse: properties: data: $ref: '#/components/schemas/goliothProject' type: object goliothProjectUpdate: properties: name: type: string type: object goliothCreateProjectRequest: properties: name: type: string organizationId: type: string type: object rpcStatus: properties: code: format: int32 type: integer details: items: $ref: '#/components/schemas/protobufAny' type: array message: type: string type: object goliothDeleteProjectResponse: type: object goliothListProjectResponse: properties: list: items: $ref: '#/components/schemas/goliothProject' type: array 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