{"swagger":"2.0","info":{"description":"Documented API for the tactical professional user profile reference data solution.To use the API calls generate an Authorization JWT Tokens (user and service) which is required in the header.","version":"0.0.1","title":"Professional User Profile Reference Data API"},"host":"localhost:8080","basePath":"/","tags":[{"name":"organisation-controller","description":"Organisation Controller"},{"name":"payment-account-controller","description":"Payment Account Controller"},{"name":"professional-user-controller","description":"Professional User Controller"},{"name":"root-controller","description":"Root Controller"}],"paths":{"/pup/mine":{"get":{"tags":["root-controller"],"summary":"Retrieve my full profile","operationId":"myFullDetailUsingGET","produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"name":"accountNonExpired","in":"query","required":false,"type":"boolean"},{"name":"accountNonLocked","in":"query","required":false,"type":"boolean"},{"name":"authorities[0].authority","in":"query","required":false,"type":"string"},{"name":"credentialsNonExpired","in":"query","required":false,"type":"boolean"},{"name":"enabled","in":"query","required":false,"type":"boolean"},{"name":"password","in":"query","required":false,"type":"string"},{"name":"servicename","in":"query","required":false,"type":"string"},{"name":"username","in":"query","required":false,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/PaymentAccountDto"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"deprecated":false}},"/pup/organisations":{"post":{"tags":["organisation-controller"],"summary":"Create Organisation.","operationId":"createOrganisationUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"in":"body","name":"organisation","description":"organisation","required":true,"schema":{"$ref":"#/definitions/OrganisationCreation"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/OrganisationDto"}},"201":{"description":"Created"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"deprecated":false}},"/pup/organisations/{organisationUuid}":{"get":{"tags":["organisation-controller"],"summary":"Retrieve Organisation.","operationId":"getOrganisationUsingGET","produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"name":"organisationUuid","in":"path","description":"organisationUuid","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/OrganisationDto"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"deprecated":false},"delete":{"tags":["organisation-controller"],"summary":"Delete Organisation.","operationId":"deleteOrganisationUsingDELETE","produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"name":"organisationUuid","in":"path","description":"organisationUuid","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/OrganisationDto"}},"204":{"description":"No Content","schema":{"$ref":"#/definitions/OrganisationDto"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/pup/organisations/{organisationUuid}/addresses":{"post":{"tags":["organisation-controller"],"summary":"Create Address.","operationId":"addOrganisationAddressUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"in":"body","name":"address","description":"address","required":true,"schema":{"$ref":"#/definitions/AddressCreation"}},{"name":"organisationUuid","in":"path","description":"organisationUuid","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/OrganisationDto"}},"201":{"description":"Created"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"deprecated":false}},"/pup/payment-accounts":{"post":{"tags":["payment-account-controller"],"summary":"Create payment account.","operationId":"createPaymentAccountUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"in":"body","name":"paymentAccount","description":"paymentAccount","required":true,"schema":{"$ref":"#/definitions/PaymentAccountCreation"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/PaymentAccountDto"}},"201":{"description":"Created"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"deprecated":false}},"/pup/payment-accounts/mine":{"get":{"tags":["payment-account-controller"],"summary":"Retrieve my payment account.","operationId":"myPaymentAccountsUsingGET","produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"name":"accountNonExpired","in":"query","required":false,"type":"boolean"},{"name":"accountNonLocked","in":"query","required":false,"type":"boolean"},{"name":"authorities[0].authority","in":"query","required":false,"type":"string"},{"name":"credentialsNonExpired","in":"query","required":false,"type":"boolean"},{"name":"enabled","in":"query","required":false,"type":"boolean"},{"name":"password","in":"query","required":false,"type":"string"},{"name":"servicename","in":"query","required":false,"type":"string"},{"name":"username","in":"query","required":false,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/PaymentAccountDto"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"deprecated":false}},"/pup/payment-accounts/{pbaNumber}":{"get":{"tags":["payment-account-controller"],"summary":"Retrieve payment account.","operationId":"getProfessionalUserUsingGET","produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"name":"pbaNumber","in":"path","description":"pbaNumber","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/PaymentAccountDto"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"deprecated":false},"delete":{"tags":["payment-account-controller"],"summary":"Delete payment account.","operationId":"deletePaymentAccountUsingDELETE","produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"name":"pbaNumber","in":"path","description":"pbaNumber","required":true,"type":"string"}],"responses":{"200":{"description":"OK"},"204":{"description":"No Content"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}},"/pup/payment-accounts/{pbaNumber}/assign":{"post":{"tags":["payment-account-controller"],"summary":"Assign a payment account.","operationId":"assignPaymentAccountsUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"in":"body","name":"paymentAccountAssignment","description":"paymentAccountAssignment","required":true,"schema":{"$ref":"#/definitions/PaymentAccountAssignment"}},{"name":"pbaNumber","in":"path","description":"pbaNumber","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/PaymentAccountDto"}},"201":{"description":"Created"},"204":{"description":"No Content","schema":{"$ref":"#/definitions/PaymentAccountDto"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"deprecated":false}},"/pup/payment-accounts/{pbaNumber}/unassign":{"post":{"tags":["payment-account-controller"],"summary":"Unassign a payment account.","operationId":"unassignPaymentAccountsUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"in":"body","name":"paymentAccountAssignment","description":"paymentAccountAssignment","required":true,"schema":{"$ref":"#/definitions/PaymentAccountAssignment"}},{"name":"pbaNumber","in":"path","description":"pbaNumber","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/PaymentAccountDto"}},"201":{"description":"Created"},"204":{"description":"No Content","schema":{"$ref":"#/definitions/PaymentAccountDto"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"deprecated":false}},"/pup/professional-users":{"post":{"tags":["professional-user-controller"],"summary":"Create Professional User.","operationId":"createProfessionalUserUsingPOST","consumes":["application/json"],"produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"in":"body","name":"professionalUser","description":"professionalUser","required":true,"schema":{"$ref":"#/definitions/ProfessionalUserCreation"}}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProfessionalUserDto"}},"201":{"description":"Created"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"deprecated":false}},"/pup/professional-users/{userId}":{"get":{"tags":["professional-user-controller"],"summary":"Retrieve Professional User.","operationId":"getProfessionalUserUsingGET_1","produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"name":"userId","in":"path","description":"userId","required":true,"type":"string"}],"responses":{"200":{"description":"Success","schema":{"$ref":"#/definitions/ProfessionalUser"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"}},"deprecated":false},"delete":{"tags":["professional-user-controller"],"summary":"Delete Professional User.","operationId":"deleteProfessionalUserUsingDELETE","produces":["*/*"],"parameters":[{"name":"Authorization","in":"header","description":"JWT of the currently authenticated user. If provided will be used to used for authorisation.","required":true,"type":"string"},{"name":"ServiceAuthorization","in":"header","description":"Service Auth (S2S). Use it when accessing the API on App Tier level.","required":true,"type":"string"},{"name":"userId","in":"path","description":"userId","required":true,"type":"string"}],"responses":{"200":{"description":"OK","schema":{"$ref":"#/definitions/ProfessionalUserDto"}},"204":{"description":"No Content","schema":{"$ref":"#/definitions/ProfessionalUserDto"}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"}},"deprecated":false}}},"definitions":{"Address":{"type":"object","properties":{"addressLine1":{"type":"string"},"addressLine2":{"type":"string"},"addressLine3":{"type":"string"},"addressType":{"type":"string","enum":["OFFICE"]},"city":{"type":"string"},"country":{"type":"string"},"county":{"type":"string"},"organisation":{"$ref":"#/definitions/Organisation"},"postcode":{"type":"string"},"uuid":{"type":"string","format":"uuid"}},"title":"Address"},"AddressCreation":{"type":"object","properties":{"addressLine1":{"type":"string"},"addressLine2":{"type":"string"},"addressLine3":{"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"county":{"type":"string"},"postcode":{"type":"string"},"type":{"type":"string","enum":["OFFICE"]}},"title":"AddressCreation"},"AddressDto":{"type":"object","properties":{"addressLine1":{"type":"string"},"addressLine2":{"type":"string"},"addressLine3":{"type":"string"},"city":{"type":"string"},"country":{"type":"string"},"county":{"type":"string"},"postcode":{"type":"string"},"type":{"type":"string","enum":["OFFICE"]},"uuid":{"type":"string","format":"uuid"}},"title":"AddressDto"},"Organisation":{"type":"object","properties":{"addresses":{"type":"array","items":{"$ref":"#/definitions/Address"}},"name":{"type":"string"},"organisation":{"$ref":"#/definitions/Organisation"},"organisationType":{"type":"string","enum":["LEGAL_REPRESENTATION"]},"paymentAccounts":{"type":"array","items":{"$ref":"#/definitions/PaymentAccount"}},"professionalUsers":{"type":"array","items":{"$ref":"#/definitions/ProfessionalUser"}},"uuid":{"type":"string","format":"uuid"}},"title":"Organisation"},"OrganisationCreation":{"type":"object","properties":{"name":{"type":"string"},"type":{"type":"string","enum":["LEGAL_REPRESENTATION"]}},"title":"OrganisationCreation"},"OrganisationDto":{"type":"object","properties":{"addresses":{"type":"array","items":{"$ref":"#/definitions/AddressDto"}},"name":{"type":"string"},"uuid":{"type":"string","format":"uuid"}},"title":"OrganisationDto"},"PaymentAccount":{"type":"object","properties":{"organisation":{"$ref":"#/definitions/Organisation"},"paymentAccountType":{"type":"string","enum":["CREDIT_ACCOUNT","STANDARD_LIMIT","DIRECT_DRAWDOWN","FEE_ACCOUNT"]},"pbaNumber":{"type":"string"},"uuid":{"type":"string","format":"uuid"}},"title":"PaymentAccount"},"PaymentAccountAssignment":{"type":"object","properties":{"addressId":{"type":"string"},"userId":{"type":"string"}},"title":"PaymentAccountAssignment"},"PaymentAccountCreation":{"type":"object","properties":{"organisationId":{"type":"string","format":"uuid"},"pbaNumber":{"type":"string"},"type":{"type":"string","enum":["CREDIT_ACCOUNT","STANDARD_LIMIT","DIRECT_DRAWDOWN","FEE_ACCOUNT"]}},"title":"PaymentAccountCreation"},"PaymentAccountDto":{"type":"object","properties":{"organisationId":{"type":"string","format":"uuid"},"pbaNumber":{"type":"string"},"uuid":{"type":"string","format":"uuid"}},"title":"PaymentAccountDto"},"ProfessionalUser":{"type":"object","properties":{"email":{"type":"string"},"firstName":{"type":"string"},"organisation":{"$ref":"#/definitions/Organisation"},"phoneNumber":{"type":"string"},"surname":{"type":"string"},"userId":{"type":"string"},"uuid":{"type":"string","format":"uuid"}},"title":"ProfessionalUser"},"ProfessionalUserCreation":{"type":"object","properties":{"email":{"type":"string"},"firstName":{"type":"string"},"organisationId":{"type":"string"},"phoneNumber":{"type":"string"},"surname":{"type":"string"},"userId":{"type":"string"}},"title":"ProfessionalUserCreation"},"ProfessionalUserDto":{"type":"object","properties":{"email":{"type":"string"},"firstName":{"type":"string"},"phoneNumber":{"type":"string"},"surname":{"type":"string"},"userId":{"type":"string"},"uuid":{"type":"string","format":"uuid"}},"title":"ProfessionalUserDto"},"ProfessionalUserFullDetailDto":{"type":"object","properties":{"address":{"$ref":"#/definitions/AddressDto"},"email":{"type":"string"},"firstName":{"type":"string"},"organisation":{"$ref":"#/definitions/OrganisationDto"},"paymentAccounts":{"type":"array","items":{"$ref":"#/definitions/PaymentAccountDto"}},"phoneNumber":{"type":"string"},"surname":{"type":"string"},"userId":{"type":"string"}},"title":"ProfessionalUserFullDetailDto"}}}
