{
  "openapi": "3.1.0",
  "info": {
    "title": "Leaders API",
    "version": "1.0.0",
    "summary": "Sourced, dated moves of Chief Data, Chief AI and Chief Analytics Officers and heads of data and AI, from company announcements, SEC 8-K filings and news",
    "description": "Sourced, dated moves of Chief Data, Chief AI and Chief Analytics Officers and heads of data and AI, from company announcements, SEC 8-K filings and news. Checked every morning at 06:00 UTC. Free to read; please cite \"Leaders (leaders.fru.dev)\" with a link. Responses are cached at the edge; keep to about 60 requests a minute. Guide: https://leaders.fru.dev/agents",
    "contact": {
      "name": "fru.dev",
      "url": "https://fru.dev",
      "email": "fru.dev3@gmail.com"
    }
  },
  "externalDocs": {
    "description": "For AI agents",
    "url": "https://leaders.fru.dev/agents"
  },
  "servers": [
    {
      "url": "https://leaders.fru.dev"
    }
  ],
  "paths": {
    "/api/moves": {
      "get": {
        "operationId": "list_moves",
        "summary": "Leadership moves, latest first, with optional filters",
        "description": "Leadership moves, latest first, with optional filters. Returns moves with person, type, role, from and to company and title, date, source link and the reason as the source states it.",
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": false,
            "description": "Company slug, as in /companies/<slug> (moves to or from it)",
            "schema": {
              "type": "string"
            },
            "example": "apple"
          },
          {
            "name": "person",
            "in": "query",
            "required": false,
            "description": "Person slug, as in /people/<slug>",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "role",
            "in": "query",
            "required": false,
            "description": "Role key",
            "schema": {
              "type": "string",
              "enum": [
                "chief-ai-officer",
                "chief-data-officer",
                "chief-data-and-ai-officer",
                "chief-analytics-officer",
                "head-of-ai",
                "head-of-data",
                "chief-scientist",
                "cto",
                "cio",
                "ceo",
                "other"
              ]
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "description": "Move type",
            "schema": {
              "type": "string",
              "enum": [
                "appointed",
                "poached",
                "promoted",
                "departed",
                "retired"
              ]
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "description": "Announced on or after, YYYY-MM-DD",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "description": "Announced on or before, YYYY-MM-DD",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "q",
            "in": "query",
            "required": false,
            "description": "Words in the person, company or title",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Items per page, 1 to 200",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 200
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Items to skip, for the next page",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "moves with person, type, role, from and to company and title, date, source link and the reason as the source states it",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "note": "From public announcements and filings. Roles as reported on the date shown. Logos via logo.dev; trademarks belong to their owners.",
                  "moves": [
                    {
                      "id": "2026-08-nimrod-barak-synchrony",
                      "person": "Nimrod Barak",
                      "personSlug": "nimrod-barak",
                      "type": "poached",
                      "role": "chief-ai-officer",
                      "from": "citi",
                      "fromName": "Citi",
                      "fromDomain": "citigroup.com",
                      "fromTitle": "Managing Director, Head of AI Center of Excellence and Emerging Technologies",
                      "to": "synchrony",
                      "toName": "Synchrony",
                      "toDomain": "synchrony.com",
                      "toTitle": "Chief AI Officer",
                      "date": "2026-08-13"
                    },
                    {
                      "id": "2026-08-chandhu-nair-target",
                      "person": "Chandhu Nair",
                      "personSlug": "chandhu-nair",
                      "type": "poached",
                      "role": "chief-ai-officer",
                      "from": "lowes",
                      "fromName": "Lowe's",
                      "fromDomain": "lowes.com",
                      "fromTitle": "SVP of stores, data, AI and innovation",
                      "to": "target",
                      "toName": "Target",
                      "toDomain": "target.com",
                      "toTitle": "chief AI officer and SVP",
                      "date": "2026-08-11"
                    }
                  ],
                  "total": 8,
                  "limit": 3,
                  "offset": 0,
                  "next": "/api/moves?role=chief-ai-officer&limit=3&offset=3"
                }
              }
            }
          }
        }
      }
    },
    "/api/who": {
      "get": {
        "operationId": "who_runs_data",
        "summary": "Who holds the data and AI seats at one company now, and its moves",
        "description": "Who holds the data and AI seats at one company now, and its moves. Returns the company, its current holders (role, person, title, since) and every move to or from it.",
        "parameters": [
          {
            "name": "company",
            "in": "query",
            "required": true,
            "description": "Company slug, as in /companies/<slug>",
            "schema": {
              "type": "string"
            },
            "example": "apple"
          }
        ],
        "responses": {
          "200": {
            "description": "the company, its current holders (role, person, title, since) and every move to or from it",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "company": {
                    "slug": "apple",
                    "name": "Apple",
                    "domain": "apple.com",
                    "industry": "big-tech",
                    "kind": "enterprise",
                    "ticker": "",
                    "moves": 2
                  },
                  "holders": [
                    {
                      "role": "head-of-ai",
                      "person": "Amar Subramanya",
                      "personSlug": "amar-subramanya",
                      "title": "vice president of AI",
                      "since": "2025-12-01",
                      "moveId": "2025-12-amar-subramanya-apple",
                      "unverified": false
                    }
                  ],
                  "moves": [
                    {
                      "id": "2025-12-amar-subramanya-apple",
                      "person": "Amar Subramanya",
                      "personSlug": "amar-subramanya",
                      "type": "poached",
                      "role": "head-of-ai",
                      "from": "microsoft",
                      "fromName": "Microsoft",
                      "fromDomain": "microsoft.com",
                      "fromTitle": "corporate vice president of AI",
                      "to": "apple",
                      "toName": "Apple",
                      "toDomain": "apple.com",
                      "toTitle": "vice president of AI",
                      "date": "2025-12-01"
                    },
                    {
                      "id": "2025-12-john-giannandrea-apple",
                      "person": "John Giannandrea",
                      "personSlug": "john-giannandrea",
                      "type": "retired",
                      "role": "head-of-ai",
                      "from": "apple",
                      "fromName": "Apple",
                      "fromDomain": "apple.com",
                      "fromTitle": "senior vice president for Machine Learning and AI Strategy",
                      "to": "",
                      "toName": "",
                      "toDomain": "",
                      "toTitle": "",
                      "date": "2025-12-01"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/api/companies": {
      "get": {
        "operationId": "list_companies",
        "summary": "Every company with a data or AI leadership move on record",
        "description": "Every company with a data or AI leadership move on record. Returns companies with domain, industry, move count, last move date and current data and AI leaders.",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Items per page, 1 to 200",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 200,
              "default": 200
            }
          },
          {
            "name": "offset",
            "in": "query",
            "required": false,
            "description": "Items to skip, for the next page",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "default": 0
            }
          }
        ],
        "responses": {
          "200": {
            "description": "companies with domain, industry, move count, last move date and current data and AI leaders",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "companies": [
                    {
                      "slug": "openai",
                      "name": "OpenAI",
                      "domain": "openai.com",
                      "industry": "ai-lab",
                      "kind": "enterprise",
                      "ticker": "",
                      "moves": 5,
                      "lastMove": "2026-07-09",
                      "holders": [
                        {
                          "role": "cto",
                          "person": "Vijaye Raji",
                          "personSlug": "vijaye-raji",
                          "title": "CTO of Applications",
                          "since": "2025-09-02",
                          "moveId": "2025-09-vijaye-raji-openai",
                          "unverified": false
                        },
                        {
                          "role": "other",
                          "person": "Sachin Katti",
                          "personSlug": "sachin-katti",
                          "title": "",
                          "since": "2025-11-10",
                          "moveId": "2025-11-sachin-katti-openai",
                          "unverified": false
                        }
                      ],
                      "url": "https://leaders.fru.dev/companies/openai"
                    },
                    {
                      "slug": "google-deepmind",
                      "name": "Google DeepMind",
                      "domain": "deepmind.google",
                      "industry": "ai-lab",
                      "kind": "enterprise",
                      "ticker": "",
                      "moves": 3,
                      "lastMove": "2026-08-05",
                      "holders": [
                        {
                          "role": "head-of-ai",
                          "person": "Koray Kavukcuoglu",
                          "personSlug": "koray-kavukcuoglu",
                          "title": "SVP of Google DeepMind",
                          "since": "2026-08-05",
                          "moveId": "2026-08-koray-kavukcuoglu-google-deepmind",
                          "unverified": false
                        }
                      ],
                      "url": "https://leaders.fru.dev/companies/google-deepmind"
                    }
                  ],
                  "total": 51,
                  "limit": 3,
                  "offset": 0,
                  "next": "/api/companies?limit=3&offset=3"
                }
              }
            }
          }
        }
      }
    },
    "/api/search": {
      "get": {
        "operationId": "search",
        "summary": "Search people, companies, roles and pages",
        "description": "Search people, companies, roles and pages. Returns up to 20 ranked results with title, link and one line.",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "required": true,
            "description": "Name, company or title",
            "schema": {
              "type": "string"
            },
            "example": "chief ai officer"
          },
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "description": "Results, 1 to 20",
            "schema": {
              "type": "integer",
              "minimum": 1,
              "maximum": 20,
              "default": 20
            }
          }
        ],
        "responses": {
          "200": {
            "description": "up to 20 ranked results with title, link and one line",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                },
                "example": {
                  "q": "apple",
                  "results": [
                    {
                      "id": "co:apple",
                      "group": "companies",
                      "title": "Apple",
                      "subtitle": "vice president of AI: Amar Subramanya",
                      "href": "/companies/apple",
                      "keywords": [
                        "apple",
                        "apple"
                      ],
                      "logo": "https://img.logo.dev/apple.com?token=...&size=64&format=png&theme=light&retina=true&fallback=404",
                      "score": 1050
                    },
                    {
                      "id": "p:amar-subramanya",
                      "group": "items",
                      "title": "Amar Subramanya",
                      "subtitle": "vice president of AI, Apple",
                      "href": "/people/amar-subramanya",
                      "keywords": [
                        "Apple",
                        "Microsoft"
                      ],
                      "score": 975
                    }
                  ]
                }
              }
            }
          }
        }
      }
    }
  }
}