openapi: 3.0.3 info: title: Chick-fil-A BOVINE Accounts Databases 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: Databases description: RDS, DynamoDB, and Redshift inventory. paths: /api/databases: get: operationId: getDatabases summary: Chick-fil-A List RDS Databases description: Lists RDS database instances for a given account and region. tags: - Databases parameters: - $ref: '#/components/parameters/AccountParam' - $ref: '#/components/parameters/RegionParam' responses: '200': description: RDS databases returned. content: application/json: schema: type: array items: $ref: '#/components/schemas/RdsDatabase' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/dynamotables: get: operationId: getDynamoTables summary: Chick-fil-A List DynamoDB Tables description: Lists DynamoDB tables for a given account and region. tags: - Databases parameters: - $ref: '#/components/parameters/AccountParam' - $ref: '#/components/parameters/RegionParam' responses: '200': description: DynamoDB tables returned. content: application/json: schema: $ref: '#/components/schemas/DynamoTableList' '404': description: Account not found. content: application/json: schema: $ref: '#/components/schemas/MessageResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK /api/redshiftclusters: get: operationId: getRedshiftClusters summary: Chick-fil-A List Redshift Clusters description: Lists Redshift clusters for a given account and region. tags: - Databases parameters: - $ref: '#/components/parameters/AccountParam' - $ref: '#/components/parameters/RegionParam' responses: '200': description: Redshift clusters returned. content: application/json: schema: $ref: '#/components/schemas/RedshiftClusterList' '404': description: Account not found. content: application/json: schema: $ref: '#/components/schemas/MessageResponse' x-microcks-operation: delay: 0 dispatcher: FALLBACK components: schemas: RdsDatabase: type: object description: An RDS database instance record. properties: Region: type: string example: us-east-1 DBName: type: string example: orders Endpoint: type: object description: The RDS endpoint descriptor. properties: Address: type: string example: orders.abc123.us-east-1.rds.amazonaws.com Port: type: integer example: 5432 CreateDate: type: string description: The instance creation timestamp. example: '2025-01-15T10:00:00Z' AccountAlias: type: string example: prod-platform MessageResponse: type: object description: Generic message wrapper used for not-found and informational responses. properties: Message: type: string description: A human-readable message. example: Account not found. DynamoTableList: type: object description: A list of DynamoDB tables for an account. properties: Tables: type: array items: $ref: '#/components/schemas/DynamoTable' RedshiftCluster: type: object description: A Redshift cluster record. properties: Region: type: string example: us-east-1 ClusterIdentifier: type: string example: analytics-prod AccountAlias: type: string example: prod-platform DynamoTable: type: object description: A DynamoDB table record. properties: Region: type: string example: us-east-1 TableName: type: string example: AWS-Accounts-Table RedshiftClusterList: type: object description: A list of Redshift clusters for an account. properties: Clusters: type: array items: $ref: '#/components/schemas/RedshiftCluster' 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' RegionParam: name: region in: query required: false description: The AWS region to scope the request to. schema: type: string default: us-east-1 example: us-east-1