openapi: 3.2.0 info: title: Portal Global File Accelerator (GFA) API version: 0.1.0 servers: - url: https://am1.portal.api.nasuni.com description: Base URL for accounts assigned the US region. - url: https://eu1.portal.api.nasuni.com description: Base URL for accounts assigned the EU region. - url: https://ap1.portal.api.nasuni.com description: Base URL for accounts assigned the Asia-Pacific region. security: - HTTPBearer: [] tags: - name: Global File Accelerator (GFA) paths: /gfa/api_keys: get: tags: - Global File Accelerator (GFA) summary: Get GFA API Keys operationId: get_gfa_api_keys_gfa_api_keys_get responses: '200': description: GFA API keys retrieved successfully content: application/json: schema: $ref: '#/components/schemas/GfaApiKeysResponseDto' '401': description: Not authenticated content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Insufficient permissions or license content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - HTTPBearer: [] post: tags: - Global File Accelerator (GFA) summary: Generate GFA API Key operationId: generate_gfa_api_key_gfa_api_keys_post responses: '200': description: GFA API key generated successfully content: application/json: schema: $ref: '#/components/schemas/GfaApiKeyDto' '401': description: Not authenticated content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Insufficient permissions or license content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' security: - HTTPBearer: [] /gfa/api_keys/{api_key}: delete: tags: - Global File Accelerator (GFA) summary: Delete GFA API Key operationId: delete_gfa_api_key_gfa_api_keys__api_key__delete security: - HTTPBearer: [] parameters: - name: api_key in: path required: true schema: type: string format: uuid title: Api Key responses: '200': description: Operation completed successfully content: application/json: schema: {} '401': description: Not authenticated content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '403': description: Insufficient permissions or license content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '404': description: Resource not found content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' '422': description: Invalid input data content: application/json: schema: $ref: '#/components/schemas/ValidationErrorResponse' '500': description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' components: schemas: ValidationErrorResponse: properties: message: type: string title: Message detail: items: additionalProperties: true type: object type: array title: Detail example: - ctx: error: 'invalid length: expected length 32 for simple format, found 3' input: '123' loc: - path - id msg: 'Input should be a valid UUID, invalid length: expected length 32 for simple format, found 3' type: uuid_parsing type: object required: - message - detail title: ValidationErrorResponse ErrorResponse: properties: message: type: string title: Message detail: anyOf: - {} - type: 'null' title: Detail type: object required: - message - detail title: ErrorResponse GfaApiKeysResponseDto: properties: items: items: $ref: '#/components/schemas/GfaApiKeyDto' type: array title: Items type: object required: - items title: GfaApiKeysResponseDto GfaApiKeyDto: properties: key: type: string format: uuid title: Key created: type: string format: date-time title: Created last_used: anyOf: - type: string format: date-time - type: 'null' title: Last Used type: object required: - key - created - last_used title: GfaApiKeyDto securitySchemes: ServiceKeyHeader: type: apiKey in: header name: x-service-key description: Service key for programmatic API access. Must be used together with x-service-secret. ServiceSecretHeader: type: apiKey in: header name: x-service-secret description: Service secret for programmatic API access. Must be used together with x-service-key. UserKeyHeader: type: apiKey in: header name: x-user-key description: User key for user-specific API access. HTTPBearer: type: http scheme: bearer bearerFormat: JWT description: Bearer token obtained from /auth/token endpoint. OAuth2ClientCredentials: type: oauth2 description: Standard OAuth2 Client Credentials flow (RFC 6749 ยง4.4). Send `client_id` (service key) and `client_secret` (service secret) as form-encoded body parameters to the token endpoint. flows: clientCredentials: tokenUrl: /auth/token scopes: {}