openapi: 3.0.3 info: title: Gemfury Developer Accounts API description: 'REST API for managing packages, versions, accounts, members, and tokens hosted on Gemfury. Supports GET, POST, PATCH, PUT, and DELETE methods over HTTPS with JSON payloads. ' version: '1' contact: name: Gemfury Support url: https://gemfury.com/help/ license: name: Proprietary url: https://gemfury.com servers: - url: https://api.fury.io/1 description: Gemfury API v1 security: - bearerAuth: [] tags: - name: Accounts description: Retrieve account information paths: /accounts/{identifier}: get: operationId: getAccount summary: Retrieve Account description: 'Retrieve details about a specific account by username, unique ID (format: acct_*), or the keyword "me" for the authenticated user. ' tags: - Accounts parameters: - name: identifier in: path description: Username, unique ID (acct_*), or "me" for the authenticated account required: true schema: type: string example: me - $ref: '#/components/parameters/asParam' responses: '200': description: Account details content: application/json: schema: $ref: '#/components/schemas/Account' example: id: acct_eb3c12 username: nickfury name: Nick Fury type_key: user '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' components: schemas: Error: type: object description: Error response properties: error: type: object properties: message: type: string description: Human-readable error message example: Package not found type: type: string description: Error class categorization example: InputException Account: type: object description: A Gemfury account (user, organization, or Heroku app) properties: id: type: string description: Unique account identifier example: acct_eb3c12 username: type: string description: Unique username example: nickfury name: type: string description: Display name example: Nick Fury type_key: type: string description: Account type enum: - user - org - heroku_app example: user responses: Unauthorized: description: Authentication required content: application/json: schema: $ref: '#/components/schemas/Error' example: error: message: Authentication required type: AuthException NotFound: description: Referenced object not found content: application/json: schema: $ref: '#/components/schemas/Error' example: error: message: Package not found type: NotFoundException Forbidden: description: Insufficient permissions content: application/json: schema: $ref: '#/components/schemas/Error' example: error: message: Insufficient permissions for this request type: ForbiddenException parameters: asParam: name: as in: query description: Account context override (username or account ID) required: false schema: type: string example: nickfury securitySchemes: bearerAuth: type: http scheme: bearer description: API token obtained from the Gemfury dashboard