openapi: 3.0.3 info: title: Chick-fil-A BOVINE Accounts Identity API description: BOVI(n)E — Building Operational Visibility Into (n) Environments — is a serverless, single-page application open-sourced by Chick-fil-A (github.com/chick-fil-a/bovine) that provides a "10,000 foot view" across all of an enterprise's AWS accounts in a multi-account strategy. The backend runs on AWS Lambda behind AWS API Gateway, with data stored in DynamoDB and audit reports in S3. The API surfaces account inventory, IAM users and roles, EC2 instances, public IPs, security groups, load balancers, RDS/DynamoDB/ Redshift databases, S3 buckets, and compliance audit reports for security and governance teams. This specification was generated from the project's serverless.yml route definitions and Python Lambda handlers. version: '1.0' x-generated-from: documentation x-source-url: https://github.com/chick-fil-a/bovine x-last-validated: '2026-06-02' contact: name: Kin Lane email: kin@apievangelist.com license: name: See repository url: https://github.com/chick-fil-a/bovine servers: - url: https://api.example.com description: Deployment-specific AWS API Gateway endpoint. BOVINE is self-hosted; the host is configured per-deployment via the serverless domainName setting. tags: - name: Identity description: IAM users and roles across accounts. paths: /api/users: get: operationId: getUsers summary: Chick-fil-A List IAM Users description: Lists IAM users for a given account. tags: - Identity parameters: - $ref: '#/components/parameters/AccountParam' responses: '200': description: IAM users returned. content: application/json: schema: type: array items: $ref: '#/components/schemas/IamUserSummary' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/user: get: operationId: getUser summary: Chick-fil-A Get IAM User description: Returns detailed IAM user information including managed policies and access keys for a given account and user. tags: - Identity parameters: - $ref: '#/components/parameters/AccountParam' - name: user in: query required: true description: The IAM username to look up. schema: type: string example: jsmith responses: '200': description: IAM user detail returned. content: application/json: schema: $ref: '#/components/schemas/IamUserDetail' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/roles: get: operationId: getRoles summary: Chick-fil-A List IAM Roles description: Lists IAM roles for a given account. tags: - Identity parameters: - $ref: '#/components/parameters/AccountParam' responses: '200': description: IAM roles returned. content: application/json: schema: type: array items: $ref: '#/components/schemas/IamRole' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: IamRole: type: object description: An IAM role record for an account. properties: Name: type: string description: The IAM role name. example: platform-deploy-role IamUserSummary: type: object description: A summary IAM user record for an account. properties: Account: type: object properties: accountNum: type: string example: '123456789012' Username: type: string description: The IAM username. example: jsmith IamUserDetail: type: object description: Detailed IAM user record including policies and access keys. properties: Account: type: object properties: accountNum: type: string example: '123456789012' User: type: object properties: Username: type: string example: jsmith ManagedPolicies: type: array description: Attached managed policies. items: type: object properties: ManagedPolicy: type: string example: AdministratorAccess AccessKeys: type: array description: Access keys associated with the user. items: type: object properties: AccessKeyId: type: string example: AKIAEXAMPLE1234567 Status: type: string example: Active parameters: AccountParam: name: account in: query required: true description: The AWS account number (12-digit) or account alias to scope the request to. schema: type: string example: '123456789012'