openapi: 3.0.3 info: title: Edfapay Payment Gateway Branch Management API version: 1.0.0 description: API to initiate a payment with Edfapay. servers: - url: https://apidev.edfapay.com description: Sandbox server tags: - name: Branch Management description: Branch Management APIs paths: /api/v1/branches: put: tags: - Branch Management summary: Update Branch description: 'Update exist Branch, ACCESS LEVEL: SUPER_ADMIN, PARTNER, MERCHANT' operationId: editBranch requestBody: content: application/json: schema: $ref: '#/components/schemas/BranchUpdateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' '400': description: Bad Request content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' post: tags: - Branch Management summary: Create Branch description: 'Create new Branch, ACCESS LEVEL: SUPER_ADMIN, PARTNER, MERCHANT' operationId: createBranch requestBody: content: application/json: schema: $ref: '#/components/schemas/BranchCreateRequest' required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' '400': description: Bad Request content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' delete: tags: - Branch Management summary: Delete Multi Branches description: 'Delete multiple Branches, ACCESS LEVEL: SUPER_ADMIN, PARTNER, MERCHANT' operationId: batchDeleteBranches_1 requestBody: content: application/json: schema: type: array items: type: string format: uuid required: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' '400': description: Bad Request content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' /api/v1/branches/{branchId}: get: tags: - Branch Management summary: Branch Details description: 'Get Branch Details by BranchId, ACCESS LEVEL: SUPER_ADMIN, PARTNER, MERCHANT' operationId: getBranchById parameters: - name: branchId in: path required: true schema: type: string format: uuid responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' '400': description: Bad Request content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' delete: tags: - Branch Management summary: Delete Branch description: 'Delete exist Branch, ACCESS LEVEL: SUPER_ADMIN, PARTNER, MERCHANT' operationId: deleteBranch parameters: - name: branchId in: path required: true schema: type: string format: uuid responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' '400': description: Bad Request content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' /api/v1/branches/search: get: tags: - Branch Management summary: Search Branches description: 'Search & Retrieve Branches, ACCESS LEVEL: SUPER_ADMIN, PARTNER, MERCHANT' operationId: searchBranches_1 parameters: - name: pageProperties in: query description: Search Pageable required: true schema: $ref: '#/components/schemas/SearchPageable' example: pageNumber: 0 pageSize: 10 - name: searchCriteria in: query description: Branch Search Criteria required: true schema: $ref: '#/components/schemas/BranchSearchCriteria' example: text: Branch active: true responses: '200': description: OK content: '*/*': schema: $ref: '#/components/schemas/ApiResponsePageObject' '400': description: Bad Request content: '*/*': schema: $ref: '#/components/schemas/ApiResponseObject' components: schemas: PageableObject: type: object properties: paged: type: boolean pageNumber: type: integer format: int32 pageSize: type: integer format: int32 offset: type: integer format: int64 sort: type: array items: $ref: '#/components/schemas/SortObject' unpaged: type: boolean ApiResponseObject: type: object properties: code: type: integer format: int32 message: type: string errorCode: type: string data: type: object SortObject: type: object properties: direction: type: string nullHandling: type: string ascending: type: boolean property: type: string ignoreCase: type: boolean SearchPageable: type: object properties: pageNumber: type: integer format: int32 sortDirection: type: string enum: - ASC - DESC pageSize: type: integer format: int32 sortBy: type: string BranchSearchCriteria: type: object properties: text: type: string countryCode: type: string cityId: type: string address: type: string active: type: boolean createdTimeTo: type: string format: date createdTimeFrom: type: string format: date businessUnitHierarchies: type: array items: type: string format: uuid ApiResponsePageObject: type: object properties: code: type: integer format: int32 message: type: string errorCode: type: string data: $ref: '#/components/schemas/PageObject' BranchCreateRequest: required: - countryCode - name type: object properties: name: type: string nameAR: type: string address: type: string countryCode: type: string cityId: type: integer format: int32 active: type: boolean parentBusinessUnitId: type: string format: uuid BranchUpdateRequest: required: - countryCode - id - name type: object properties: id: type: string format: uuid name: type: string nameAR: type: string address: type: string countryCode: type: string cityId: type: integer format: int32 active: type: boolean PageObject: type: object properties: totalPages: type: integer format: int32 totalElements: type: integer format: int64 pageable: $ref: '#/components/schemas/PageableObject' first: type: boolean last: type: boolean size: type: integer format: int32 content: type: array items: type: object number: type: integer format: int32 sort: type: array items: $ref: '#/components/schemas/SortObject' numberOfElements: type: integer format: int32 empty: type: boolean