Files
Dalan/docs/api/swagger/user_api.json
2026-08-13 19:56:46 +03:30

2 lines
53 KiB
JSON
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
{"info":{"title":"Barong","description":"RESTful API for barong OAuth server","version":"2.7.0"},"swagger":"2.0","produces":["application/json"],"host":"www.alvand.local","basePath":"/api/v2/barong","tags":[{"name":"api","description":"Operations about apis"}],"paths":{"/api/v2/barong/identity/users/password/reset":{"post":{"description":"Sets new account password(for forgot password)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"email","description":"user email","type":"string","required":true},{"in":"formData","name":"code","description":"code from email again","type":"string","required":true},{"in":"formData","name":"password","description":"User new password","type":"string","required":true},{"in":"formData","name":"confirm_password","description":"User new password","type":"string","required":true}],"responses":{"201":{"description":"Resets password"},"400":{"description":"Required params are empty"},"404":{"description":"Record is not found"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongIdentityUsersPasswordReset"}},"/api/v2/barong/identity/users/password/confirm_code":{"post":{"description":"Just check confirm code for reset password(check authorization for forget password)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"email","description":"Account email","type":"string","required":true},{"in":"formData","name":"code","description":"Confirm code","type":"string","required":true},{"in":"formData","name":"captcha_response","description":"Response from captcha widget","type":"string","required":false}],"responses":{"201":{"description":"reset code is ok"},"400":{"description":"Required params are missing"},"422":{"description":"Validation errors"},"404":{"description":"User doesn't exist"}},"tags":["api"],"operationId":"postApiV2BarongIdentityUsersPasswordConfirmCode"}},"/api/v2/barong/identity/users/password/generate_code":{"post":{"description":"Send password reset instructions(forget password)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"email","description":"Account email","type":"string","required":true},{"in":"formData","name":"captcha_response","description":"Response from captcha widget","type":"string","required":false}],"responses":{"201":{"description":"Generated password reset code"},"400":{"description":"Required params are missing"},"422":{"description":"Validation errors"},"404":{"description":"User doesn't exist"}},"tags":["api"],"operationId":"postApiV2BarongIdentityUsersPasswordGenerateCode"}},"/api/v2/barong/identity/users/email/confirm_email":{"post":{"description":"Confirms an account by Authorization code (verify user email and achieve first label)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"code","description":"Code from email","type":"string","required":true},{"in":"formData","name":"email","description":"user email","type":"string","required":true}],"responses":{"201":{"description":"Confirms an account by Authorization code (verify user email and achieve first label)","schema":{"$ref":"#/definitions/API_V2_Entities_UserWithFullInfo"}},"400":{"description":"Required code are missing"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongIdentityUsersEmailConfirmEmail"}},"/api/v2/barong/identity/users/email/generate_email_code":{"post":{"description":"Send confirmations instructions (code in email)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"email","description":"Account email","type":"string","required":true},{"in":"formData","name":"captcha_response","description":"Response from captcha widget","type":"string","required":false}],"responses":{"201":{"description":"Generated verification code"},"400":{"description":"Required params are missing"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongIdentityUsersEmailGenerateEmailCode"}},"/api/v2/barong/identity/users/register_geetest":{"get":{"description":"Register Geetest captcha","produces":["application/json"],"responses":{"200":{"description":"Register Geetest captcha"}},"tags":["api"],"operationId":"getApiV2BarongIdentityUsersRegisterGeetest"}},"/api/v2/barong/identity/users":{"post":{"description":"Creates new user (sign up)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"email","description":"User Email","type":"string","required":true},{"in":"formData","name":"password","description":"User Password","type":"string","required":true},{"in":"formData","name":"refid","description":"Referral uid","type":"string","required":false},{"in":"formData","name":"captcha_response","description":"Response from captcha widget","type":"string","required":false},{"in":"formData","name":"data","description":"Any additional key: value pairs in json string format","type":"string","required":false}],"responses":{"201":{"description":"Creates new user (sign up)","schema":{"$ref":"#/definitions/API_V2_Entities_UserWithFullInfo"}},"400":{"description":"Required params are missing"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongIdentityUsers"}},"/api/v2/barong/identity/users/access":{"post":{"description":"Creates new whitelist restriction","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"whitelink_token","type":"string","required":true}],"responses":{"200":{"description":"Whitelist restriction was created"},"400":{"description":"Required params are missing"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongIdentityUsersAccess"}},"/api/v2/barong/identity/sessions/resend":{"post":{"description":"Resend confirmations code(authorization code)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"data","description":"Account email or Telephone number","type":"string","required":true},{"in":"formData","name":"action","description":"for what need auth code","type":"string","required":true},{"in":"formData","name":"channel","description":"channel that send in","type":"string","default":"email","required":false},{"in":"formData","name":"captcha_response","description":"Response from captcha widget","type":"string","required":false}],"responses":{"201":{"description":"Generated verification code"},"400":{"description":"Required params are missing"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongIdentitySessionsResend"}},"/api/v2/barong/identity/sessions/auth0":{"post":{"description":"Auth0 authentication by id_token","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"id_token","description":"ID Token","type":"string","required":true}],"responses":{"200":{"description":"User authenticated"},"400":{"description":"Required params are empty"},"404":{"description":"Record is not found"}},"tags":["api"],"operationId":"postApiV2BarongIdentitySessionsAuth0"}},"/api/v2/barong/identity/sessions":{"delete":{"description":"Destroy current session for LogOut","produces":["application/json"],"responses":{"204":{"description":"Session was destroyed"},"400":{"description":"Required params are empty"},"404":{"description":"Record is not found"}},"tags":["api"],"operationId":"deleteApiV2BarongIdentitySessions"},"post":{"description":"Start a new session for every LogIn","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"email","type":"string","required":true},{"in":"formData","name":"password","type":"string","required":true},{"in":"formData","name":"captcha_response","description":"Response from captcha widget","type":"string","required":false},{"in":"formData","name":"otp_code","description":"Code from Google Authenticator","type":"string","required":false}],"responses":{"201":{"description":"Start a new session for every LogIn"},"400":{"description":"Required params are empty"},"404":{"description":"Record is not found"}},"tags":["api"],"operationId":"postApiV2BarongIdentitySessions"}},"/api/v2/barong/identity/configs":{"get":{"description":"Get barong configurations","produces":["application/json"],"responses":{"200":{"description":"Get barong configurations"}},"tags":["api"],"operationId":"getApiV2BarongIdentityConfigs"}},"/api/v2/barong/identity/version":{"get":{"description":"Get barong version","produces":["application/json"],"responses":{"200":{"description":"Get barong version"}},"tags":["api"],"operationId":"getApiV2BarongIdentityVersion"}},"/api/v2/barong/identity/time":{"get":{"description":"Get server current unix timestamp.","produces":["application/json"],"responses":{"200":{"description":"Get server current unix timestamp."}},"tags":["api"],"operationId":"getApiV2BarongIdentityTime"}},"/api/v2/barong/identity/ping":{"get":{"description":"Test connectivity","produces":["application/json"],"responses":{"200":{"description":"Test connectivity"}},"tags":["api"],"operationId":"getApiV2BarongIdentityPing"}},"/api/v2/barong/identity/password/validate":{"post":{"description":"Password strength testing","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"password","description":"User password","type":"string","required":true}],"responses":{"201":{"description":"Password strength testing"}},"tags":["api"],"operationId":"postApiV2BarongIdentityPasswordValidate"}},"/api/v2/barong/resource/swagger_doc/{name}":{"get":{"description":"Swagger compatible API description for specific API","produces":["application/json"],"parameters":[{"in":"path","name":"name","description":"Resource name of mounted API","type":"string","required":true},{"in":"query","name":"locale","description":"Locale of API documentation","type":"string","required":false}],"responses":{"200":{"description":"Swagger compatible API description for specific API"}},"tags":["api"],"operationId":"getApiV2BarongResourceSwaggerDocName"}},"/api/v2/barong/resource/swagger_doc":{"get":{"description":"Swagger compatible API description","produces":["application/json"],"responses":{"200":{"description":"Swagger compatible API description"}},"tags":["api"],"operationId":"getApiV2BarongResourceSwaggerDoc"}},"/api/v2/barong/resource/service_accounts/api_keys/{kid}":{"put":{"description":"Updates an api key","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"service_account_uid","type":"string","required":true},{"in":"path","name":"kid","description":"Service account kid","type":"string","required":true},{"in":"formData","name":"scope","description":"Comma separated scopes","type":"string","required":false},{"in":"formData","name":"state","description":"State of API Key. \"active\" state means key is active and can be used for auth","type":"string","required":false},{"in":"formData","name":"totp_code","description":"Code from Google Authenticator","type":"string","required":true}],"responses":{"200":{"description":"Updates an api key","schema":{"$ref":"#/definitions/API_V2_Entities_APIKey"}},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"putApiV2BarongResourceServiceAccountsApiKeysKid"},"delete":{"description":"Delete an api key for specific service account","produces":["application/json"],"parameters":[{"in":"query","name":"service_account_uid","type":"string","required":true},{"in":"path","name":"kid","description":"Service account kid","type":"string","required":true},{"in":"query","name":"totp_code","description":"Code from Google Authenticator","type":"string","required":true}],"responses":{"204":{"description":"Succefully deleted"},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"}},"tags":["api"],"operationId":"deleteApiV2BarongResourceServiceAccountsApiKeysKid"}},"/api/v2/barong/resource/service_accounts/api_keys":{"post":{"description":"Create api key for specific service account.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"service_account_uid","type":"string","required":true},{"in":"formData","name":"algorithm","description":"Service account algorithm","type":"string","required":true},{"in":"formData","name":"scope","description":"Comma separated scopes","type":"string","required":false},{"in":"formData","name":"totp_code","description":"Code from Google Authenticator","type":"string","required":true}],"responses":{"201":{"description":"Create api key for specific service account.","schema":{"$ref":"#/definitions/API_V2_Entities_APIKey"}},"400":{"description":"Require 2FA and totp code"},"401":{"description":"Invalid bearer token"}},"tags":["api"],"operationId":"postApiV2BarongResourceServiceAccountsApiKeys"},"get":{"description":"List all api keys for specific service account.","produces":["application/json"],"parameters":[{"in":"query","name":"ordering","description":"If set, returned values will be sorted in specific order, defaults to 'asc'.","type":"string","default":"asc","required":false},{"in":"query","name":"order_by","description":"Name of the field, which result will be ordered by.","type":"string","default":"id","required":false},{"in":"query","name":"page","description":"Page number (defaults to 1).","type":"integer","format":"int32","default":1,"required":false},{"in":"query","name":"limit","description":"Number of users per page (defaults to 100, maximum is 100).","type":"integer","format":"int32","default":100,"minimum":1,"maximum":100,"required":false},{"in":"query","name":"service_account_uid","type":"string","required":true}],"responses":{"200":{"description":"List all api keys for specific service account.","schema":{"$ref":"#/definitions/API_V2_Entities_APIKey"}},"400":{"description":"Require 2FA and totp code"},"401":{"description":"Invalid bearer token"}},"tags":["api"],"operationId":"getApiV2BarongResourceServiceAccountsApiKeys"}},"/api/v2/barong/resource/service_accounts":{"get":{"description":"List all service accounts for current user.","produces":["application/json"],"security":[{"BearerToken":[]}],"responses":{"200":{"description":"List all service accounts for current user."},"400":{"description":"Require 2FA and totp code"},"401":{"description":"Invalid bearer token"}},"tags":["api"],"operationId":"getApiV2BarongResourceServiceAccounts"}},"/api/v2/barong/resource/data_storage":{"post":{"description":"Create data storage","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"title","description":"Storage title","type":"string","required":true},{"in":"formData","name":"data","description":"Storage data","type":"string","required":true}],"responses":{"201":{"description":"Data Storage was created"},"401":{"description":"Invalid bearer token"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceDataStorage"}},"/api/v2/barong/resource/api_keys":{"get":{"description":"List all api keys for current account.","produces":["application/json"],"parameters":[{"in":"query","name":"ordering","description":"If set, returned values will be sorted in specific order, defaults to 'asc'.","type":"string","default":"asc","required":false},{"in":"query","name":"order_by","description":"Name of the field, which result will be ordered by.","type":"string","default":"id","required":false},{"in":"query","name":"page","description":"Page number (defaults to 1).","type":"integer","format":"int32","default":1,"required":false},{"in":"query","name":"limit","description":"Number of users per page (defaults to 100, maximum is 100).","type":"integer","format":"int32","default":100,"minimum":1,"maximum":100,"required":false}],"responses":{"200":{"description":"List all api keys for current account.","schema":{"$ref":"#/definitions/API_V2_Entities_APIKey"}},"400":{"description":"Require 2FA and totp code"},"401":{"description":"Invalid bearer token"}},"tags":["api"],"operationId":"getApiV2BarongResourceApiKeys"},"post":{"description":"Create an api key","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"algorithm","description":"API key algorithm","type":"string","required":true},{"in":"formData","name":"scope","description":"Comma separated scopes","type":"string","required":false},{"in":"formData","name":"totp_code","description":"Code from Google Authenticator","type":"string","required":true}],"responses":{"201":{"description":"Create an api key","schema":{"$ref":"#/definitions/API_V2_Entities_APIKey"}},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceApiKeys"}},"/api/v2/barong/resource/api_keys/{kid}":{"delete":{"description":"Delete an api key","produces":["application/json"],"parameters":[{"in":"path","name":"kid","description":"API key kid","type":"string","required":true},{"in":"query","name":"totp_code","description":"Code from Google Authenticator","type":"string","required":true}],"responses":{"204":{"description":"Succefully deleted"},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"}},"tags":["api"],"operationId":"deleteApiV2BarongResourceApiKeysKid"},"patch":{"description":"Updates an api key","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"kid","description":"API key kid","type":"string","required":true},{"in":"formData","name":"scope","description":"Comma separated scopes","type":"string","required":false},{"in":"formData","name":"state","description":"State of API Key. \"active\" state means key is active and can be used for auth","type":"string","required":false},{"in":"formData","name":"totp_code","description":"Code from Google Authenticator","type":"string","required":true}],"responses":{"200":{"description":"Updates an api key","schema":{"$ref":"#/definitions/API_V2_Entities_APIKey"}},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"patchApiV2BarongResourceApiKeysKid"}},"/api/v2/barong/resource/otp/verify":{"post":{"description":"Verify 2FA code(for checking 2fa)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"code","description":"Code from Google Authenticator","type":"string","required":true}],"responses":{"200":{"description":"2FA was verified"},"400":{"description":"2FA has not been enabled for this account or code is missing"},"401":{"description":"Invalid bearer token"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceOtpVerify"}},"/api/v2/barong/resource/otp/disable_email":{"post":{"description":"enter authorization code that send by email (second step for disabling 2FA)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"code","description":"Code from Google Authenticator","type":"string","required":true}],"responses":{"200":{"description":"2FA was disabled"},"400":{"description":"2FA has been enabled for this account or code is missing"},"401":{"description":"Invalid bearer token"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceOtpDisableEmail"}},"/api/v2/barong/resource/otp/disable":{"post":{"description":"Disable 2FA request and send authorization code(first step disabling)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"code","description":"Code from Google Authenticator","type":"string","required":true}],"responses":{"200":{"description":"2FA was disabled"},"400":{"description":"2FA has not been enabled for this account or code is missing"},"401":{"description":"Invalid bearer token"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceOtpDisable"}},"/api/v2/barong/resource/otp/enable_2fa":{"post":{"description":"enter authorization key and enable 2fa(third step for enabling)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"code","description":"Code from email","type":"string","required":true}],"responses":{"200":{"description":"2FA was enabled"},"400":{"description":"2FA has been enabled for this account or code is missing"},"401":{"description":"Invalid bearer token"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceOtpEnable2fa"}},"/api/v2/barong/resource/otp/enable":{"post":{"description":"enter google authenticator code and send authorization code by email(second step for enabling)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"code","description":"Code from Google Authenticator","type":"string","required":true}],"responses":{"200":{"description":"2FA was enabled"},"400":{"description":"2FA has been enabled for this account or code is missing"},"401":{"description":"Invalid bearer token"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceOtpEnable"}},"/api/v2/barong/resource/otp/generate_qrcode":{"post":{"description":"Generate qr code for 2FA (first step for enabling)","produces":["application/json"],"consumes":["application/json"],"responses":{"200":{"description":"QR code was generated"},"400":{"description":"2FA has been enabled for this account"},"401":{"description":"Invalid bearer token"}},"tags":["api"],"operationId":"postApiV2BarongResourceOtpGenerateQrcode"}},"/api/v2/barong/resource/phones/verify":{"post":{"description":"Verify a phone (enter code and verify number)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"phone_number","description":"Phone number with country code(in iran with +98)","type":"string","required":true},{"in":"formData","name":"verification_code","description":"Verification code from call","type":"string","required":true}],"responses":{"201":{"description":"Verify a phone (enter code and verify number)","schema":{"$ref":"#/definitions/API_V2_Entities_UserWithFullInfo"}},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"}},"tags":["api"],"operationId":"postApiV2BarongResourcePhonesVerify"}},"/api/v2/barong/resource/phones/send_code":{"post":{"description":"Resend activation code in call","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"phone_number","description":"Phone number with country code","type":"string","required":true},{"in":"formData","name":"channel","description":"The verification method to use","type":"string","default":"call","enum":["call","sms"],"required":false}],"responses":{"200":{"description":"Activation code was resend"},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourcePhonesSendCode"}},"/api/v2/barong/resource/phones":{"post":{"description":"Add new phone","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"phone_number","description":"Phone number with country code(in iran +98)","type":"string","required":true},{"in":"formData","name":"channel","description":"The verification method to use","type":"string","default":"call","enum":["call","sms"],"required":false}],"responses":{"200":{"description":"New phone was added"},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourcePhones"}},"/api/v2/barong/resource/mobiles/verify":{"post":{"description":"Verify a mobile(enter code and verify number)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"phone_number","description":"phone number with country code(in iran with +98)","type":"string","required":true},{"in":"formData","name":"verification_code","description":"Verification code from sms(this param is for legacy structure must be sms)","type":"string","required":true}],"responses":{"201":{"description":"Verify a mobile(enter code and verify number)","schema":{"$ref":"#/definitions/API_V2_Entities_UserWithFullInfo"}},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"}},"tags":["api"],"operationId":"postApiV2BarongResourceMobilesVerify"}},"/api/v2/barong/resource/mobiles/send_code":{"post":{"description":"Resend activation code for mobile sms","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"phone_number","description":"Phone number with country code( in iran +98 )","type":"string","required":true},{"in":"formData","name":"channel","description":"The verification method to use(this param is for legacy structure must be sms)","type":"string","default":"sms","enum":["call","sms"],"required":false}],"responses":{"200":{"description":"Activation code was resend"},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceMobilesSendCode"}},"/api/v2/barong/resource/mobiles":{"post":{"description":"Add new mobile","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"phone_number","description":"Phone number with country code(in iran +98)","type":"string","required":true},{"in":"formData","name":"channel","description":"The verification method to use(this param is for legacy structure must be sms)","type":"string","default":"sms","enum":["call","sms"],"required":false}],"responses":{"200":{"description":"New phone was added"},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceMobiles"},"get":{"description":"Returns list of user's phones","produces":["application/json"],"responses":{"200":{"description":"Returns list of user's phones","schema":{"$ref":"#/definitions/API_V2_Entities_Phone"}},"401":{"description":"Invalid bearer token"}},"tags":["api"],"operationId":"getApiV2BarongResourceMobiles"}},"/api/v2/barong/resource/documents":{"post":{"description":"Upload a new document for current user","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"doc_type","description":"Document type","type":"string","required":true},{"in":"formData","name":"doc_number","description":"Document number","type":"string","required":true},{"in":"formData","name":"upload","description":"Array of Rack::Multipart::UploadedFile","type":"string","required":true},{"in":"formData","name":"doc_expire","description":"Document expiration date","type":"string","format":"date","required":false},{"in":"formData","name":"doc_category","description":"Category of the submitted document - front/back/selfie etc.","type":"string","required":false},{"in":"formData","name":"identificator","description":"Identificator for documents to be supplied together","type":"string","required":false},{"in":"formData","name":"metadata","description":"Any additional key: value pairs in json string format","type":"string","required":false}],"responses":{"201":{"description":"Document is uploaded"},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceDocuments"},"get":{"description":"Return current user documents list","produces":["application/json"],"responses":{"200":{"description":"Return current user documents list","schema":{"$ref":"#/definitions/API_V2_Entities_Document"}},"401":{"description":"Invalid bearer token"}},"tags":["api"],"operationId":"getApiV2BarongResourceDocuments"}},"/api/v2/barong/resource/profiles/address":{"post":{"description":"Adding Address","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"city","description":"city name","type":"string","required":true},{"in":"formData","name":"province","description":"province name","type":"string","required":true},{"in":"formData","name":"address","description":"address","type":"string","required":true},{"in":"formData","name":"postcode","description":"post code","type":"string","required":true},{"in":"formData","name":"upload","description":"Array of Rack::Multipart::UploadedFile","type":"string","required":true}],"responses":{"201":{"description":"Adding Address","schema":{"$ref":"#/definitions/API_V2_Entities_Profile"}},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"needed data doesnt exist"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceProfilesAddress"}},"/api/v2/barong/resource/profiles/selfie":{"post":{"description":"Create Level two - step three - selfie","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"upload","description":"Array of Rack::Multipart::UploadedFile","type":"string","required":true},{"in":"formData","name":"confirm","description":"Profile confirmation","type":"boolean","default":true,"required":false}],"responses":{"201":{"description":"Create Level two - step three - selfie","schema":{"$ref":"#/definitions/API_V2_Entities_Profile"}},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"409":{"description":"Selfie already exists"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceProfilesSelfie"}},"/api/v2/barong/resource/profiles/treasury/list":{"get":{"description":"Return list of treasuries","produces":["application/json"],"responses":{"200":{"description":"Return list of treasuries","schema":{"$ref":"#/definitions/API_V2_Entities_Treasury"}},"401":{"description":"Invalid bearer token"},"404":{"description":"User has no treasuries"}},"tags":["api"],"operationId":"getApiV2BarongResourceProfilesTreasuryList"}},"/api/v2/barong/resource/profiles/treasury/{id}":{"delete":{"description":"Delete a treasury","produces":["application/json"],"parameters":[{"in":"path","name":"id","type":"integer","format":"int32","required":true}],"responses":{"204":{"description":"Successfully deleted"},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"}},"tags":["api"],"operationId":"deleteApiV2BarongResourceProfilesTreasuryId"}},"/api/v2/barong/resource/profiles/treasury":{"post":{"description":"Create Level one - step three - info bank ","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"data","description":"treasury number","type":"string","required":true},{"in":"formData","name":"kind","description":"iban or card","type":"string","required":true},{"in":"formData","name":"title","description":"treasury name","type":"string","required":false},{"in":"formData","name":"confirm","description":"Treasury confirmation","type":"boolean","default":true,"required":false}],"responses":{"201":{"description":"Create Level one - step three - info bank ","schema":{"$ref":"#/definitions/API_V2_Entities_Profile"}},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"409":{"description":"Bank info already exists"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceProfilesTreasury"}},"/api/v2/barong/resource/profiles":{"put":{"description":"Update a profile for current_user","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"first_name","description":"First Name","type":"string","required":true},{"in":"formData","name":"last_name","description":"Last Name","type":"string","required":true},{"in":"formData","name":"dob","description":"Date of Birth","type":"string","format":"date","required":true},{"in":"formData","name":"national_code","description":"national code","type":"string","required":true},{"in":"formData","name":"upload","description":"Array of Rack::Multipart::UploadedFile","type":"string","required":true},{"in":"formData","name":"confirm","description":"Profile confirmation","type":"boolean","default":true,"required":false}],"responses":{"200":{"description":"Update a profile for current_user","schema":{"$ref":"#/definitions/API_V2_Entities_Profile"}},"401":{"description":"Invalid bearer token"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"putApiV2BarongResourceProfiles"},"post":{"description":"Create Level one - step one - personal info in profiles","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"first_name","description":"First Name","type":"string","required":true},{"in":"formData","name":"last_name","description":"Last Name","type":"string","required":true},{"in":"formData","name":"dob","description":"Date of Birth","type":"string","format":"date","required":true},{"in":"formData","name":"national_code","description":"national code","type":"string","required":true},{"in":"formData","name":"upload","description":"Array of Rack::Multipart::UploadedFile","type":"string","required":true},{"in":"formData","name":"confirm","description":"Profile confirmation","type":"boolean","default":true,"required":false}],"responses":{"201":{"description":"Create Level one - step one - personal info in profiles","schema":{"$ref":"#/definitions/API_V2_Entities_Profile"}},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"409":{"description":"Profile already exists"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceProfiles"}},"/api/v2/barong/resource/profiles/me":{"get":{"description":"Return profiles of current resource owner","produces":["application/json"],"responses":{"200":{"description":"Return profiles of current resource owner","schema":{"$ref":"#/definitions/API_V2_Entities_Profile"}},"401":{"description":"Invalid bearer token"},"404":{"description":"User has no profile"}},"tags":["api"],"operationId":"getApiV2BarongResourceProfilesMe"}},"/api/v2/barong/resource/labels/{key}":{"delete":{"description":"Delete a label with 'public' scope.","produces":["application/json"],"parameters":[{"in":"path","name":"key","description":"Label key.","type":"string","required":true}],"responses":{"204":{"description":"Succefully deleted"},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"}},"tags":["api"],"operationId":"deleteApiV2BarongResourceLabelsKey"},"patch":{"description":"Update a label with 'public' scope.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"path","name":"key","description":"Label key.","type":"string","required":true},{"in":"formData","name":"value","description":"Label value.","type":"string","required":true}],"responses":{"200":{"description":"Update a label with 'public' scope.","schema":{"$ref":"#/definitions/API_V2_Entities_Label"}},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"patchApiV2BarongResourceLabelsKey"},"get":{"description":"Return a label by key.","produces":["application/json"],"parameters":[{"in":"path","name":"key","description":"Label key.","type":"string","required":true}],"responses":{"200":{"description":"Return a label by key.","schema":{"$ref":"#/definitions/API_V2_Entities_Label"}},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"404":{"description":"Record is not found"}},"tags":["api"],"operationId":"getApiV2BarongResourceLabelsKey"}},"/api/v2/barong/resource/labels":{"post":{"description":"Create a label with 'public' scope.","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"key","description":"Label key.","type":"string","required":true},{"in":"formData","name":"value","description":"Label value.","type":"string","required":true}],"responses":{"201":{"description":"Create a label with 'public' scope.","schema":{"$ref":"#/definitions/API_V2_Entities_Label"}},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceLabels"},"get":{"description":"List all labels for current user.","produces":["application/json"],"parameters":[{"in":"query","name":"ordering","description":"If set, returned labels sorted in specific order, default to \"asc\".","type":"string","default":"asc","enum":["asc","desc"],"required":false}],"responses":{"200":{"description":"List all labels for current user.","schema":{"$ref":"#/definitions/API_V2_Entities_Label"}},"401":{"description":"Invalid bearer token"}},"tags":["api"],"operationId":"getApiV2BarongResourceLabels"}},"/api/v2/barong/resource/users/confirm_password":{"post":{"description":"Confirm account password(enter authorization code)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"code","description":"Totp Code from email","type":"string","required":true}],"responses":{"201":{"description":"Changes password"},"400":{"description":"Required params are empty"},"404":{"description":"Record is not found"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceUsersConfirmPassword"}},"/api/v2/barong/resource/users/password":{"put":{"description":"Sets new account password(change password)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"old_password","description":"Previous account password","type":"string","required":true},{"in":"formData","name":"new_password","description":"User password","type":"string","required":true},{"in":"formData","name":"confirm_password","description":"User password","type":"string","required":true}],"responses":{"201":{"description":"Code sent for confirm password"},"400":{"description":"Required params are empty"},"404":{"description":"Record is not found"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"putApiV2BarongResourceUsersPassword"}},"/api/v2/barong/resource/users/activity/{topic}":{"get":{"description":"Returns user activity","produces":["application/json"],"parameters":[{"in":"path","name":"topic","description":"Topic of user activity. Allowed: [all, password, session, otp]","type":"string","required":true},{"in":"query","name":"time_from","description":"An integer represents the seconds elapsed since Unix epoch.If set, only activities created after the time will be returned.","type":"integer","format":"int32","required":false},{"in":"query","name":"time_to","description":"An integer represents the seconds elapsed since Unix epoch.If set, only activities created before the time will be returned.","type":"integer","format":"int32","required":false},{"in":"query","name":"result","description":"Result of user activity. Allowed: [succeed, failed, denied]","type":"string","required":false},{"in":"query","name":"page","description":"Page number (defaults to 1).","type":"integer","format":"int32","default":1,"required":false},{"in":"query","name":"limit","description":"Number of users per page (defaults to 100, maximum is 100).","type":"integer","format":"int32","default":100,"minimum":1,"maximum":100,"required":false}],"responses":{"200":{"description":"Returns user activity","schema":{"$ref":"#/definitions/API_V2_Entities_Activity"}}},"tags":["api"],"operationId":"getApiV2BarongResourceUsersActivityTopic"}},"/api/v2/barong/resource/users/me":{"delete":{"description":"Blocks current user","produces":["application/json"],"parameters":[{"in":"query","name":"password","description":"Account password","type":"string","required":true},{"in":"query","name":"otp_code","description":"Code from Google Authenticator","type":"string","required":false}],"responses":{"204":{"description":"Current user was blocked"}},"tags":["api"],"operationId":"deleteApiV2BarongResourceUsersMe"},"put":{"description":"Updates current user data field","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"data","description":"Any additional key: value pairs in json string format","type":"string","required":true}],"responses":{"200":{"description":"Updates current user data field","schema":{"$ref":"#/definitions/API_V2_Entities_UserWithFullInfo"}}},"tags":["api"],"operationId":"putApiV2BarongResourceUsersMe"},"get":{"description":"Returns current user","produces":["application/json"],"responses":{"200":{"description":"Returns current user","schema":{"$ref":"#/definitions/API_V2_Entities_UserWithFullInfo"}}},"tags":["api"],"operationId":"getApiV2BarongResourceUsersMe"}},"/api/v2/barong/resource/addresses":{"post":{"description":"Upload a new address approval document for current user(this is what ui using now)","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"country","description":"country name","type":"string","required":true},{"in":"formData","name":"address","description":"address","type":"string","required":true},{"in":"formData","name":"upload","description":"Array of Rack::Multipart::UploadedFile","type":"string","required":true},{"in":"formData","name":"city","description":"city name","type":"string","required":true},{"in":"formData","name":"postcode","description":"Any additional key: value pairs in json string format","type":"string","required":true}],"responses":{"201":{"description":"New address approval document was uploaded"},"400":{"description":"Required params are empty"},"401":{"description":"Invalid bearer token"},"422":{"description":"Validation errors"}},"tags":["api"],"operationId":"postApiV2BarongResourceAddresses"}},"/api/v2/barong/public/configs/auth0":{"get":{"description":"Get auth0 configuration","produces":["application/json"],"responses":{"200":{"description":"Get auth0 configuration"}},"tags":["api"],"operationId":"getApiV2BarongPublicConfigsAuth0"}},"/api/v2/barong/public/configs":{"get":{"description":"Get barong configurations","produces":["application/json"],"responses":{"200":{"description":"Get barong configurations"}},"tags":["api"],"operationId":"getApiV2BarongPublicConfigs"}},"/api/v2/barong/public/version":{"get":{"description":"Get barong version","produces":["application/json"],"responses":{"200":{"description":"Get barong version"}},"tags":["api"],"operationId":"getApiV2BarongPublicVersion"}},"/api/v2/barong/public/time":{"get":{"description":"Get server current unix timestamp.","produces":["application/json"],"responses":{"200":{"description":"Get server current unix timestamp."}},"tags":["api"],"operationId":"getApiV2BarongPublicTime"}},"/api/v2/barong/public/ping":{"get":{"description":"Test connectivity","produces":["application/json"],"responses":{"200":{"description":"Test connectivity"}},"tags":["api"],"operationId":"getApiV2BarongPublicPing"}},"/api/v2/barong/public/password/validate":{"post":{"description":"Password strength testing","produces":["application/json"],"consumes":["application/json"],"parameters":[{"in":"formData","name":"password","description":"User password","type":"string","required":true}],"responses":{"201":{"description":"Password strength testing"}},"tags":["api"],"operationId":"postApiV2BarongPublicPasswordValidate"}},"/api/v2/barong/public/kyc":{"post":{"description":"KYC callback","produces":["application/json"],"consumes":["application/json"],"responses":{"201":{"description":"KYC callback"}},"tags":["api"],"operationId":"postApiV2BarongPublicKyc"}}},"definitions":{"API_V2_Entities_UserWithFullInfo":{"type":"object","properties":{"email":{"type":"string","description":"User Email"},"uid":{"type":"string","description":"User UID"},"role":{"type":"string","description":"User role"},"level":{"type":"integer","format":"int32","description":"User level"},"otp":{"type":"boolean","description":"is 2FA enabled for account"},"state":{"type":"string","description":"User state: active, pending, inactive"},"referral_uid":{"type":"string","description":"UID of referrer"},"data":{"type":"string","description":"Additional phone and profile info"},"csrf_token":{"type":"string","description":"Сsrf protection token"},"labels":{"$ref":"#/definitions/API_V2_Entities_Label"},"phones":{"$ref":"#/definitions/API_V2_Entities_Phone"},"profiles":{"$ref":"#/definitions/API_V2_Entities_Profile"},"data_storages":{"$ref":"#/definitions/API_V2_Entities_DataStorage"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"description":"Returns current user"},"API_V2_Entities_Label":{"type":"object","properties":{"key":{"type":"string","description":"Label key. [a-z0-9_-]+ should be used. Min - 3, max - 255 characters."},"value":{"type":"string","description":"Label value. [A-Za-z0-9_-] should be used. Min - 3, max - 255 characters."},"scope":{"type":"string","description":"Label scope: 'public' or 'private'"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"description":"List all labels for current user."},"API_V2_Entities_Phone":{"type":"object","properties":{"country":{"type":"string","description":"Phone country"},"number":{"type":"string","description":"Submasked phone number"},"validated_at":{"type":"s","format":"g","description":"Phone validation date"}},"description":"Returns list of user's phones"},"API_V2_Entities_Profile":{"type":"object","properties":{"first_name":{"type":"string","description":"First Name"},"last_name":{"type":"string","description":"Submasked last name"},"national_code":{"type":"string","description":"Submasked national code"},"dob":{"type":"string","format":"date","description":"Submasked birth date"},"address":{"type":"string","description":"Address"},"postcode":{"type":"string","description":"Address Postcode"},"city":{"type":"string","description":"City name"},"country":{"type":"string","description":"Country name"},"state":{"type":"string","description":"Profile state: drafted, submitted, verified, rejected"},"metadata":{"type":"object","description":"Profile additional fields"},"upload":{"type":"string","description":"Address Postcode"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"description":"Return profiles of current resource owner"},"API_V2_Entities_DataStorage":{"type":"object","properties":{"title":{"type":"string","description":"Any additional data title"},"data":{"type":"string","description":"Any additional data json key:value pairs"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"API_V2_Entities_APIKey":{"type":"object","properties":{"kid":{"type":"string","description":"JWT public key"},"algorithm":{"type":"string","description":"Cryptographic hash function type"},"scope":{"type":"string","description":"Serialized array of scopes"},"state":{"type":"string","description":"active/non-active state of key"},"secret":{"type":"string","description":"Api key secret"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"description":"Create an api key"},"API_V2_Entities_Document":{"type":"object","properties":{"upload":{"type":"string","description":"File Upload"},"url":{"type":"string","description":"File url"},"doc_type":{"type":"string","description":"Document type: passport, driver license, utility bill, identity card, institutional, address, residental"},"doc_number":{"type":"string","description":"Submasked document number: AB123123 type"},"doc_expire":{"type":"string","description":"Expire date of uploaded documents"},"metadata":{"type":"string","description":"Any additional stored data"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"description":"Return current user documents list"},"API_V2_Entities_Treasury":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"id of record"},"title":{"type":"string","description":"title"},"state":{"type":"string","description":"state"},"kind":{"type":"string","description":"kind"},"data":{"type":"string","description":"Submasked data"},"created_at":{"type":"string"},"updated_at":{"type":"string"}},"description":"Return list of treasuries"},"API_V2_Entities_Activity":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"Activity ID"},"user_ip":{"type":"string","description":"User IP"},"user_agent":{"type":"string","description":"User Browser Agent"},"topic":{"type":"string","description":"Defined topic (session, adjustments) or general by default"},"action":{"type":"string","description":"API action: POST =\u003e 'create', PUT =\u003e 'update', GET =\u003e 'read', DELETE =\u003e 'delete', PATCH =\u003e 'update' or system if there is no match of HTTP method"},"result":{"type":"string","description":"Status of API response: succeed, failed, denied"},"data":{"type":"string","description":"Parameters which was sent to specific API endpoint"},"created_at":{"type":"string"}},"description":"Returns user activity"},"API_V2_Entities_Level":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"Level identifier, level number"},"key":{"type":"string","description":"Label key. [A-Za-z0-9_-] should be used. Min - 3, max - 255 characters."},"value":{"type":"string","description":"Label value. [A-Za-z0-9_-] should be used. Min - 3, max - 255 characters."}}},"API_V2_Entities_User":{"type":"object","properties":{"email":{"type":"string","description":"User Email"},"uid":{"type":"string","description":"User UID"},"role":{"type":"string","description":"User role"},"level":{"type":"integer","format":"int32","description":"User level"},"otp":{"type":"boolean","description":"is 2FA enabled for account"},"state":{"type":"string","description":"User state: active, pending, inactive"},"referral_uid":{"type":"string","description":"UID of referrer"},"data":{"type":"string","description":"Additional phone and profile info"}}},"API_V2_Entities_UserWithProfile":{"type":"object","properties":{"email":{"type":"string","description":"User Email"},"uid":{"type":"string","description":"User UID"},"role":{"type":"string","description":"User role"},"level":{"type":"integer","format":"int32","description":"User level"},"otp":{"type":"boolean","description":"is 2FA enabled for account"},"state":{"type":"string","description":"User state: active, pending, inactive"},"referral_uid":{"type":"string","description":"UID of referrer"},"data":{"type":"string","description":"Additional phone and profile info"},"profiles":{"$ref":"#/definitions/API_V2_Entities_Profile"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"API_V2_Entities_UserWithKYC":{"type":"object","properties":{"email":{"type":"string","description":"User Email"},"uid":{"type":"string","description":"User UID"},"role":{"type":"string","description":"User role"},"level":{"type":"integer","format":"int32","description":"User level"},"otp":{"type":"boolean","description":"is 2FA enabled for account"},"state":{"type":"string","description":"User state: active, pending, inactive"},"referral_uid":{"type":"string","description":"UID of referrer"},"data":{"type":"string","description":"Additional phone and profile info"},"profiles":{"$ref":"#/definitions/API_V2_Entities_Profile"},"labels":{"$ref":"#/definitions/API_V2_Entities_AdminLabelView"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"API_V2_Entities_AdminLabelView":{"type":"object","properties":{"key":{"type":"string","description":"Label key. [a-z0-9_-]+ should be used. Min - 3, max - 255 characters."},"value":{"type":"string","description":"Label value. [A-Za-z0-9_-] should be used. Min - 3, max - 255 characters."},"scope":{"type":"string","description":"Label scope: 'public' or 'private'"},"description":{"type":"string","description":"Label desc: json string with any additional information"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"API_V2_Entities_ServiceAccounts":{"type":"object","properties":{"email":{"type":"string","description":"User Email"},"uid":{"type":"string","description":"User UID"},"role":{"type":"string","description":"Service Account Role"},"level":{"type":"integer","format":"int32","description":"User Level"},"state":{"type":"string","description":"Service Account State: active, disabled"},"user":{"$ref":"#/definitions/API_V2_Entities_User"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}},"API_V2_Entities_Comment":{"type":"object","properties":{"id":{"type":"integer","format":"int32","description":"Comment id"},"author_uid":{"type":"string","description":"Comment author UID"},"title":{"type":"string","description":"Comment title"},"data":{"type":"string","description":"Comment plain text"},"created_at":{"type":"string"},"updated_at":{"type":"string"}}}}}