# Retrieve all companies Returns a paginated list of all companies registered with Aslan. This endpoint provides an overview of all employer clients in the system with support for filtering and sorting. Endpoint: GET /companies Version: 0.0.1 Security: partnerAdminAuth ## Header parameters: - `X-Aslan-Timestamp` (integer, required) Unix epoch timestamp of the request in seconds. Example: 1730000000 ## Query parameters: - `params` (object) ## Response 200 fields (application/json): - `content` (array, required) List of companies in the current page - `content.id` (string, required) Unique system identifier for the company Example: "a3f2e1d0-5c4b-4a3e-9f8e-7d6c5b4a3e2f" - `content.status` (string, required) Current registration status of the company with Aslan: * VERIFIED - Company is verified and active on the platform * DELETED - Company has been removed from the platform (soft delete) Enum: "VERIFIED", "DELETED" - `content.name` (string, required) Registered legal name of the company Example: "TechFlow Solutions Ltd" - `content.companyNumber` (string, required) Official company registration number (e.g., Companies House number in the UK) Example: "09876543" - `content.address` (object) - `content.address.addressLine1` (string, required) Primary street address or building name Example: "Floor 3, 45 Commercial Road" - `content.address.addressLine2` (string) Secondary address information (e.g., building number, suite) Example: "Innovation Quarter" - `content.address.addressLine3` (string) Additional address information (e.g., district, neighborhood) Example: "Shoreditch" - `content.address.postCode` (string, required) Postal or ZIP code Example: "E1 6BH" - `content.address.city` (string, required) City or town name Example: "London" - `content.address.countryCode` (string, required) Two-letter ISO 3166-1 alpha-2 country code Example: "GB" - `content.friendlyId` (string, required) Human-readable alphanumeric identifier for the company (max 10 characters) Example: "A3F2E1D05C" - `content.createdAt` (string, required) Timestamp when the company was initially registered in the system Example: "2024-03-15T10:30:00Z" - `content.createdBy` (string, required) System identifier of the user or service that created this company record Example: "b2c3d4e5-6f7a-4b5c-8d9e-0f1a2b3c4d5e" - `content.updatedAt` (string) Timestamp of the most recent update to the company record Example: "2024-09-20T14:22:15Z" - `content.updatedBy` (string) System identifier of the user or service that last updated this company record Example: "c3d4e5f6-7a8b-5c6d-9e0f-1a2b3c4d5e6f" - `content.deletedAt` (string) Timestamp when the company was soft-deleted from the system Example: "2024-12-01T09:00:00Z" - `content.deletedBy` (string) System identifier of the user or service that deleted this company record Example: "d4e5f6a7-8b9c-6d7e-0f1a-2b3c4d5e6f7a" - `page` (integer, required) Current page number (zero-based) - `size` (integer, required) Number of items per page Example: 20 - `totalElements` (integer, required) Total number of companies across all pages Example: 156 - `totalPages` (integer, required) Total number of pages Example: 8 ## Response 400 fields (application/json): - `timestamp` (string, required) Timestamp when the error occurred Example: "2024-10-10T15:45:30Z" - `status` (integer, required) HTTP status code Example: 400 - `error` (string, required) HTTP status text Example: "Bad Request" - `message` (string, required) Human-readable error message describing what went wrong Example: "Invalid date range: fromDate must be before toDate" - `path` (string, required) API endpoint path where the error occurred Example: "/api/v1/companies/a3f2e1d0-5c4b-4a3e-9f8e-7d6c5b4a3e2f/users/f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d/spend-report" - `errors` (array) Detailed validation errors (present for validation failures) - `errors.field` (string, required) Name of the field that failed validation Example: "email" - `errors.message` (string, required) Validation error message for this field Example: "Email address is already in use" - `errors.rejectedValue` (string) The value that was rejected (may be omitted for sensitive data) Example: "sarah.johnson@techflow.com" - `traceId` (string) Unique identifier for tracing this error in logs Example: "a1b2c3d4-e5f6-4a8b-9c0d-e1f2a3b4c5d6" ## Response 401 fields (application/json): - `timestamp` (string, required) Timestamp when the error occurred Example: "2024-10-10T15:45:30Z" - `status` (integer, required) HTTP status code Example: 400 - `error` (string, required) HTTP status text Example: "Bad Request" - `message` (string, required) Human-readable error message describing what went wrong Example: "Invalid date range: fromDate must be before toDate" - `path` (string, required) API endpoint path where the error occurred Example: "/api/v1/companies/a3f2e1d0-5c4b-4a3e-9f8e-7d6c5b4a3e2f/users/f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d/spend-report" - `errors` (array) Detailed validation errors (present for validation failures) - `errors.field` (string, required) Name of the field that failed validation Example: "email" - `errors.message` (string, required) Validation error message for this field Example: "Email address is already in use" - `errors.rejectedValue` (string) The value that was rejected (may be omitted for sensitive data) Example: "sarah.johnson@techflow.com" - `traceId` (string) Unique identifier for tracing this error in logs Example: "a1b2c3d4-e5f6-4a8b-9c0d-e1f2a3b4c5d6" ## Response 403 fields (application/json): - `timestamp` (string, required) Timestamp when the error occurred Example: "2024-10-10T15:45:30Z" - `status` (integer, required) HTTP status code Example: 400 - `error` (string, required) HTTP status text Example: "Bad Request" - `message` (string, required) Human-readable error message describing what went wrong Example: "Invalid date range: fromDate must be before toDate" - `path` (string, required) API endpoint path where the error occurred Example: "/api/v1/companies/a3f2e1d0-5c4b-4a3e-9f8e-7d6c5b4a3e2f/users/f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d/spend-report" - `errors` (array) Detailed validation errors (present for validation failures) - `errors.field` (string, required) Name of the field that failed validation Example: "email" - `errors.message` (string, required) Validation error message for this field Example: "Email address is already in use" - `errors.rejectedValue` (string) The value that was rejected (may be omitted for sensitive data) Example: "sarah.johnson@techflow.com" - `traceId` (string) Unique identifier for tracing this error in logs Example: "a1b2c3d4-e5f6-4a8b-9c0d-e1f2a3b4c5d6" ## Response 500 fields (application/json): - `timestamp` (string, required) Timestamp when the error occurred Example: "2024-10-10T15:45:30Z" - `status` (integer, required) HTTP status code Example: 400 - `error` (string, required) HTTP status text Example: "Bad Request" - `message` (string, required) Human-readable error message describing what went wrong Example: "Invalid date range: fromDate must be before toDate" - `path` (string, required) API endpoint path where the error occurred Example: "/api/v1/companies/a3f2e1d0-5c4b-4a3e-9f8e-7d6c5b4a3e2f/users/f7e6d5c4-b3a2-4918-8e7d-6c5b4a3f2e1d/spend-report" - `errors` (array) Detailed validation errors (present for validation failures) - `errors.field` (string, required) Name of the field that failed validation Example: "email" - `errors.message` (string, required) Validation error message for this field Example: "Email address is already in use" - `errors.rejectedValue` (string) The value that was rejected (may be omitted for sensitive data) Example: "sarah.johnson@techflow.com" - `traceId` (string) Unique identifier for tracing this error in logs Example: "a1b2c3d4-e5f6-4a8b-9c0d-e1f2a3b4c5d6"