diff --git a/api-doc/reference/Admin-API.v1.yaml b/api-doc/reference/Admin-API.v1.yaml deleted file mode 100644 index f57e9c247f68889e983ba4364dd4d1b11110c65a..0000000000000000000000000000000000000000 --- a/api-doc/reference/Admin-API.v1.yaml +++ /dev/null @@ -1,484 +0,0 @@ -openapi: 3.0.0 -info: - title: Administration API - version: '1.0' - description: "This API is used to provide admin functions which are broader than the user's API and allow modifying users which are not oneself." -servers: - - url: 'http://localhost:8080' -paths: - /api/admin/device: - get: - summary: Get User device information - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/Device' - examples: - example-1: - value: - deviceId: sfl123 - displayName: ThinkpadL30 - certificate: sjhgfdszwythudsiuyfdvsxkiwjhyed - operationId: get-api-admin-device - parameters: - - schema: - type: string - in: query - name: username - - schema: - type: string - in: query - name: deviceId - description: Returns the device detailed information. - put: - summary: Update device data - operationId: put-api-admin-device - responses: - '200': - description: OK - '500': - description: Internal Server Error - description: Update device data. - parameters: - - schema: - type: string - in: query - name: username - - schema: - type: string - in: query - name: deviceId - - schema: - type: string - in: query - name: deviceName - delete: - summary: Delete a device - operationId: delete-api-admin-device - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: './User-API.v1.yaml#/components/schemas/DeviceRevocationResponse' - '500': - description: Internal Server Error - parameters: - - schema: - type: string - in: query - name: username - - schema: - type: string - in: query - name: deviceId - description: Revoke/Delete a device. - /api/admin/devices: - get: - summary: "Get User's list of devices" - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Device' - examples: - example-1: - value: - - deviceId: sfl123 - displayName: ThinkpadL30 - certificate: sjhgfdszwythudsiuyfdvsxkiwjhyed - - deviceId: sfl1234 - displayName: ThinkpadL304 - certificate: sjhgfdszwyth4udsiuyfdvsxkiwjhyed - operationId: get-api-admin-devices - parameters: - - schema: - type: string - in: query - name: username - description: Get a list of devices for a user. - /api/admin/directory/entry: - put: - summary: Update user profile - operationId: put-api-admin-directory-entry - responses: - '200': - description: OK - description: "Update a user's profile." - post: - summary: Create User profile - operationId: post-api-admin-directory-entry - responses: - '200': - description: OK - '500': - description: Internal Server Error - description: Create a user profile. - parameters: - - schema: - type: string - in: query - name: directory - delete: - summary: Delete user profile - operationId: delete-api-admin-directory-entry - responses: - '200': - description: OK - description: Method might probably never be implemented. - /api/admin/user: - get: - summary: Get User profile - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/UserProfile' - examples: - example-1: - value: - username: lily - firstName: Lilye - lastName: Aldrin - phoneNumber: '5149876554' - phoneNumberExtension: '123' - mobileNumber: '4381230987' - faxNumber: '1239876543' - profilePicture: eowiiewjdkfjrekjdvreqljdlfrlqdmf - email: askiur@sfl.com - organization: SFL - operationId: get-api-admin-user - description: "Get the user's profile." - parameters: - - schema: - type: string - in: query - name: username - post: - summary: Create internal user - operationId: post-api-admin-user - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/User' - examples: - example-1: - value: - username: lily - password: abcs123 - userType: LOCAL - realm: '' - accessLevel: USER - needsPasswordReset: 'false' - ethAddress: '' - ethKey: '' - jamiId: '' - description: Create an internal user. - delete: - summary: Delete a user - operationId: delete-api-admin-user - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: './User-API.v1.yaml#/components/schemas/DeviceRevocationResponse' - examples: - example-1: - value: - success: 'true' - errorDetails: '' - timestamp: '2020-06-01T12:30:01' - '500': - description: Internal Server Error - description: Revoke a user. - parameters: - - schema: - type: string - in: query - name: username - put: - summary: Update user data - operationId: put-api-admin-user - responses: - '200': - description: OK - '500': - description: Internal Server Error - description: Update User data. - parameters: - - schema: - type: string - in: query - name: username - - schema: - type: string - in: query - name: password - /api/admin/users: - get: - summary: Get Users Profile list - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/UserProfile' - examples: - example-1: - value: - - username: lily - firstName: Lilye - lastName: Aldrin - phoneNumber: '5149876554' - phoneNumberExtension: '123' - mobileNumber: '4381230987' - faxNumber: '1239876543' - profilePicture: eowiiewjdkfjrekjdvreqljdlfrlqdmf - email: askiur@sfl.com - organization: SFL - - username: ErikMar - firstName: Marshall - lastName: Eriksen - phoneNumber: '5149876554' - phoneNumberExtension: '123' - mobileNumber: '4381230987' - faxNumber: '1239876543' - profilePicture: eowiiewjdkfjrekjdvreqljdlfrlqdmf - email: askiur@sfl.com - organization: SFL - operationId: get-api-admin-users - description: Return a list of users. - /api/subscription: - get: - summary: Get Subscription status - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/SubscriptionStatusResponse' - examples: - example-1: - value: - licenseInformation: - type: COMMUNITY - products: [] - activated: true - versions: - Key: '' - FIleDescription: {} - headers: - Access-Control-Allow-Origin: - schema: - type: string - description: Server Domain of Certificate Authority - operationId: get-api-subscription - description: Get the subscription status. - post: - summary: Upload License - operationId: post-api-subscription - responses: - '200': - description: OK - description: 'Upload the license here, which is basically just uploading a base64 representation of the keypair - and store on disk.' - /api/update: - get: - summary: Get System Status (current and available versions) - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/FullSystemStatusResponse' - examples: - example-1: - value: - localVersions: - Key: '' - FIleDescription: [] - remoteVersions: - Key: '' - FIleDescription: {} - updateAvailable: false - operationId: get-api-update - description: Return the current version number and the available version number of Jams(for update). - post: - summary: Update version - operationId: post-api-update - responses: - '200': - description: OK - description: Update the version. -components: - schemas: - Device: - title: Device - type: object - properties: - deviceId: - type: string - displayName: - type: string - certificate: - type: string - description: "The user's Jami device." - x-examples: - example-1: - deviceId: sfl123 - displayName: ThinkpadL30 - certificate: sjhgfdszwythudsiuyfdvsxkiwjhyed - UserProfile: - title: UserProfile - type: object - properties: - username: - type: string - firstName: - type: string - lastName: - type: string - phoneNumber: - type: string - phoneNumberExtension: - type: string - mobileNumber: - type: string - faxNumber: - type: string - profilePicture: - type: string - email: - type: string - organization: - type: string - description: "The user's extended information which is not critical to Jami operations, usually provided by LDAP, Active Directory or other backend." - x-examples: - example-1: - username: lily - firstName: Lilye - lastName: Aldrin - phoneNumber: '5149876554' - phoneNumberExtension: '123' - mobileNumber: '4381230987' - faxNumber: '1239876543' - profilePicture: eowiiewjdkfjrekjdvreqljdlfrlqdmf - email: askiur@sfl.com - organization: SFL - User: - title: User - type: object - properties: - username: - type: string - password: - type: string - userType: - type: string - enum: - - AD - - LDAP - - LOCAL - realm: - type: string - accessLevel: - type: string - enum: - - ADMIN - - USER - needsPasswordReset: - type: boolean - ethAddress: - type: string - ethKey: - type: string - jamiId: - type: string - x-examples: - example-1: - username: lily - password: abcs123 - userType: LOCAL - realm: '' - accessLevel: USER - needsPasswordReset: 'false' - ethAddress: '' - ethKey: '' - jamiId: '' - SubscriptionStatusResponse: - title: SubscriptionStatusResponse - type: object - x-examples: - example-1: - licenseInformation: - type: COMMUNITY - products: [] - activated: true - versions: - Key: '' - FIleDescription: {} - properties: - licenseInformation: - $ref: '#/components/schemas/LicenseInformation' - activated: - type: boolean - versions: - type: object - LicenseInformation: - title: LicenseInformation - type: object - properties: - type: - type: string - enum: - - COMMUNITY - - PREMIUM - products: - type: array - items: - type: string - x-examples: {} - FullSystemStatusResponse: - title: FullSystemStatusResponse - type: object - properties: - localVersions: - type: object - remoteVersions: - type: object - updateAvailable: - type: boolean - x-examples: - example-1: - localVersions: - Key: '' - FIleDescription: [] - remoteVersions: - Key: '' - FIleDescription: {} - updateAvailable: false diff --git a/api-doc/reference/Install-API.v1.yaml b/api-doc/reference/Install-API.v1.yaml deleted file mode 100644 index 33464392fd1f1635b75d556ea9e26919c3a409d7..0000000000000000000000000000000000000000 --- a/api-doc/reference/Install-API.v1.yaml +++ /dev/null @@ -1,121 +0,0 @@ -openapi: 3.0.0 -info: - title: Install API - version: '1.0' - description: This API is used by the Web-UI installer in order to get JAMS up and running. -servers: - - url: 'http://localhost:3000' -paths: - /api/install/auth: - post: - summary: Configure Authentication Source for Server - operationId: post-api-install-auth - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AuthTokenResponse' - '500': - description: Internal Server Error - description: 'Configure Server to use selected Authentication Source as authentication backend, save settings in config.json file.' - get: - summary: Get Authentication Source for server - operationId: get-api-install-auth - responses: - '200': - description: OK - description: "Get server's Authentication Source." - /api/install/ca: - post: - summary: Save Certificate Authority - operationId: post-api-install-ca - responses: - '200': - description: OK - '500': - description: Internal Server Error - description: Save Certificate Authority. - get: - summary: Get Certificate Authority - operationId: get-api-install-ca - responses: - '200': - description: OK - description: Get Certificate Authority. - /api/install/settings: - post: - summary: Finish Server installation - operationId: post-api-install-settings - responses: - '200': - description: OK - '500': - description: Internal Server Error - description: Finish Server installation. - get: - summary: Get Server Settings - operationId: get-api-install-settings - responses: - '200': - description: OK - description: Get Server Settings. - /api/install/start: - post: - summary: Authenticate user - operationId: post-api-install-start - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AuthTokenResponse' - '403': - description: Forbidden - description: Authenticate user. - get: - summary: Check if user should login or sign-up - operationId: get-api-install-start - responses: - '200': - description: OK - headers: - showLogin: - schema: - type: boolean - description: 'true' - description: Check if user should login or sign-up. - put: - summary: Create administrative user account - operationId: put-api-install-start - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AuthTokenResponse' - examples: - example-1: {} - '500': - description: Internal Server Error - description: Create administrative user account. -components: - schemas: - AuthTokenResponse: - title: AuthTokenResponse - type: object - properties: - token_type: - type: string - access_token: - type: string - expires_in: - type: number - scope: - type: string - enum: - - ADMIN - - USER diff --git a/api-doc/reference/Nameserver-API.v1.yaml b/api-doc/reference/Nameserver-API.v1.yaml deleted file mode 100644 index e2ff8733f3479c03d763150759a7b4cf6dd6389a..0000000000000000000000000000000000000000 --- a/api-doc/reference/Nameserver-API.v1.yaml +++ /dev/null @@ -1,70 +0,0 @@ -openapi: 3.0.0 -info: - title: Nameserver API - version: '1.0' - description: This is the Jami-compatible implementation of the nameserver. -servers: - - url: 'http://localhost:8080' -paths: - '/api/nameserver/addr/{addr}': - parameters: - - schema: - type: string - name: addr - in: path - required: true - get: - summary: Get Username from Adress - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/AddrLookupResponse' - '404': - description: Not Found - operationId: get-api-nameserver-addr-addr - description: Get Username from Adress. - '/api/nameserver/name/{name}': - parameters: - - schema: - type: string - name: name - in: path - required: true - get: - summary: Get Address from username - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/NameLookupResponse' - '404': - description: Not Found - operationId: get-api-nameserver-name-name - description: Get Address from username. -components: - schemas: - AddrLookupResponse: - title: AddrLookupResponse - type: object - properties: - name: - type: string - NameLookupResponse: - title: NameLookupResponse - type: object - properties: - name: - type: string - addr: - type: string - publicKey: - type: string - signature: - type: string diff --git a/api-doc/reference/Security-API.v1.yaml b/api-doc/reference/Security-API.v1.yaml deleted file mode 100644 index b037d04546373eacffdc91026e3276cb95163fd8..0000000000000000000000000000000000000000 --- a/api-doc/reference/Security-API.v1.yaml +++ /dev/null @@ -1,56 +0,0 @@ -openapi: 3.0.0 -info: - title: Security API - version: '1.0' -servers: - - url: 'http://localhost:8080' -paths: - /api/auth/login: - post: - summary: Login and Receive Auth Token - operationId: post-api-auth-login - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: './Install-API.v1.yaml#/components/schemas/AuthTokenResponse' - '403': - description: Forbidden - description: This method returns the token which is used for all the next calls to the API. - parameters: - - schema: - type: string - in: query - name: username - - schema: - type: string - in: query - name: password - - schema: - type: string - in: header - name: authorization - /api/auth/ocsp: - get: - summary: Get OCSP - tags: [] - responses: {} - operationId: get-api-auth-ocsp - description: Get OCSP. - /api/auth/crl: - get: - summary: Get CRL - tags: [] - responses: - '200': - description: OK - content: - text/plain: - schema: - type: string - operationId: get-api-auth-crl - description: Get CRL. -components: - schemas: {} diff --git a/api-doc/reference/User-API.v1.yaml b/api-doc/reference/User-API.v1.yaml deleted file mode 100644 index 3e974734ec0015e87365cd47a75bdf6b3e4be9e7..0000000000000000000000000000000000000000 --- a/api-doc/reference/User-API.v1.yaml +++ /dev/null @@ -1,250 +0,0 @@ -openapi: 3.0.0 -info: - title: User API - version: '1.0' -servers: - - url: 'http://localhost:8080' -paths: - /api/auth/contacts: - get: - summary: "Get User's list of contacts" - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Contact' - operationId: get-api-auth-contacts - description: "Get User's contacts." - put: - summary: "Update a User's contact" - operationId: put-api-auth-contacts - responses: - '200': - description: OK - '500': - description: Internal Server Error - description: "Update User's contact." - delete: - summary: "Delete a user's contact" - operationId: delete-api-auth-contacts - responses: - '200': - description: OK - '500': - description: Internal Server Error - description: "Delete user's contact." - '/api/auth/device/{deviceId}': - parameters: - - schema: - type: string - name: deviceId - in: path - required: true - get: - summary: Get user specified device - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: './Admin-API.v1.yaml#/components/schemas/Device' - operationId: get-api-auth-device-deviceId - description: "Get a user's specified device." - put: - summary: "Update user's device informations" - operationId: put-api-auth-device-deviceId - responses: - '200': - description: OK - '500': - description: Internal Server Error - description: "Update a user's device informations." - parameters: - - schema: - type: string - in: query - name: deviceName - post: - summary: "Create/Store a user's device" - operationId: post-api-auth-device-deviceId - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceRegistrationResponse' - '500': - description: Internal Server Error - description: Create/Store a device for a user. - delete: - summary: "Delete user's device" - operationId: delete-api-auth-device-deviceId - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: '#/components/schemas/DeviceRevocationResponse' - '500': - description: Internal Server Error - description: "Delete a user's device." - /api/auth/devices: - get: - summary: Get the list of devices - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - $ref: './Admin-API.v1.yaml#/components/schemas/Device' - operationId: get-api-auth-devices - description: "Get user's devices." - /api/auth/directories: - get: - summary: "Get the directories connect to JAMS, Authentication Sources' Directories" - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/AuthModuleKey' - operationId: get-api-auth-directories - description: Get directories in Authentication Sources (Local/AD/LDAP). - /api/auth/directory/entry: - get: - summary: Get the profile of a user - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - $ref: './Admin-API.v1.yaml#/components/schemas/UserProfile' - operationId: get-api-auth-directory-entry - description: 'This is an endpoint to manipulate directory entry-data, this make sense only for local setups. Get a user profile from a directory.' - put: - summary: '' - operationId: put-api-auth-directory-entry - responses: - '200': - description: OK - description: Modify a profile only in the case of a LOCAL directory. - /api/auth/directory/search: - get: - summary: Search the directory - tags: [] - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - $ref: './Admin-API.v1.yaml#/components/schemas/UserProfile' - '': - content: - application/json: - schema: - type: array - items: - $ref: './Admin-API.v1.yaml#/components/schemas/UserProfile' - operationId: get-api-auth-directory-search - description: Search user profiles in directory. - /api/auth/user: - get: - summary: Read user profile - tags: [] - responses: - '200': - description: OK - operationId: get-api-auth-user - description: "Read user's profile (User can \"read\" his own profile)." - put: - summary: Update some user profiles fields if LOCAL authentication source - operationId: put-api-auth-user - responses: - '200': - description: OK - '500': - description: Internal Server Error - description: "Update some user profile's fields(password, privatekey, publickey) if authentication source is LOCAL." -components: - schemas: - DeviceRegistrationResponse: - title: DeviceRegistrationResponse - type: object - properties: - certificateChain: - type: string - displayName: - type: string - nameServer: - type: string - deviceReceipt: - type: string - receiptSignature: - type: string - userPhoto: - type: string - DeviceRevocationResponse: - title: DeviceRevocationResponse - type: object - properties: - success: - type: boolean - errorDetails: - type: string - timestamp: - type: string - x-examples: - example-1: - success: 'true' - errorDetails: '' - timestamp: '2020-06-01T12:30:01' - AuthModuleKey: - title: AuthModuleKey - type: object - properties: - realm: - type: string - type: - type: string - enum: - - AD - - LDAP - - LOCAL - Contact: - title: Contact - type: object - description: Contact database object - properties: - owner: - type: string - uri: - type: string - displayName: - type: string - securitySchemes: - API Key - 1: - name: API Key - type: apiKey - in: query