Factory Automations API

The Automations API from Factory — 6 operation(s) for automations.

Operations 6

POST /api/v0/automations/ci/edit Open a CI workflow PR (create / edit / delete) #
GET /api/v0/automations/ci/jobs List CI automation jobs #
GET /api/v0/automations/ci/repositories List CI-eligible repositories #
GET /api/v0/automations/ci/repository-owners List CI repository owners #
GET /api/v0/automations/ci/runs List GitHub Actions runs for CI automation workflows #
GET /api/v0/automations/ci/scan Scan repositories for CI workflows #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/factory:factory-automations-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

factory-automations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Factory Public Automations API
  description: Machine-readable contract for the Factory Public API at api.factory.ai, not the factory.com website form endpoints. Authenticate with a Factory API key or JWT bearer token. Documented error responses use the shared FactoryApiError JSON schema.
  version: 0.1.0
tags:
- name: Automations
paths:
  /api/v0/automations/ci/edit:
    post:
      operationId: PostOpenACiWorkflowPrCreateEditDelete
      responses:
        '200':
          description: Response for status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PostOpenACiWorkflowPrCreateEditDelete200ResponseBody'
        '401':
          description: Response for status 401
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryApiError'
        '500':
          description: Response for status 500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryApiError'
      tags:
      - Automations
      summary: Open a CI workflow PR (create / edit / delete)
      description: Creates, updates, or deletes a repository CI workflow and opens the resulting changes as a pull request.
  /api/v0/automations/ci/jobs:
    get:
      operationId: GetListCiAutomationJobs
      responses:
        '200':
          description: Response for status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetListCiAutomationJobs200ResponseBody'
        '401':
          description: Response for status 401
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryApiError'
        '500':
          description: Response for status 500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryApiError'
      tags:
      - Automations
      summary: List CI automation jobs
      description: Returns the CI automation jobs available to the authenticated organization.
  /api/v0/automations/ci/repositories:
    get:
      operationId: GetListCiEligibleRepositories
      responses:
        '200':
          description: Response for status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetListCiEligibleRepositories200ResponseBody'
        '401':
          description: Response for status 401
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryApiError'
        '500':
          description: Response for status 500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryApiError'
      tags:
      - Automations
      summary: List CI-eligible repositories
      description: Returns repositories that are eligible for Factory CI automation.
  /api/v0/automations/ci/repository-owners:
    get:
      operationId: GetListCiRepositoryOwners
      responses:
        '200':
          description: Response for status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetListCiRepositoryOwners200ResponseBody'
        '401':
          description: Response for status 401
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryApiError'
        '500':
          description: Response for status 500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryApiError'
      tags:
      - Automations
      summary: List CI repository owners
      description: Returns repository owners available when configuring Factory CI automation.
  /api/v0/automations/ci/runs:
    get:
      operationId: GetListGithubActionsRunsForCiAutomationWorkflows
      responses:
        '200':
          description: Response for status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetListGithubActionsRunsForCiAutomationWorkflows200ResponseBody'
        '401':
          description: Response for status 401
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryApiError'
        '500':
          description: Response for status 500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryApiError'
      tags:
      - Automations
      summary: List GitHub Actions runs for CI automation workflows
      description: List GitHub Actions runs for CI automation workflows.
  /api/v0/automations/ci/scan:
    get:
      operationId: GetScanRepositoriesForCiWorkflows
      responses:
        '200':
          description: Response for status 200
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetScanRepositoriesForCiWorkflows200ResponseBody'
        '401':
          description: Response for status 401
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryApiError'
        '500':
          description: Response for status 500
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FactoryApiError'
      tags:
      - Automations
      summary: Scan repositories for CI workflows
      description: Scans connected repositories and reports their Factory CI workflow configuration.
components:
  schemas:
    GetListCiAutomationJobs200ResponseBody:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    FactoryApiError:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    GetListCiRepositoryOwners200ResponseBody:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    GetScanRepositoriesForCiWorkflows200ResponseBody:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    GetListCiEligibleRepositories200ResponseBody:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    PostOpenACiWorkflowPrCreateEditDelete200ResponseBody:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true
    GetListGithubActionsRunsForCiAutomationWorkflows200ResponseBody:
      type: object
      description: Referenced by this document but never defined in it. API Evangelist added this empty placeholder so the document resolves; the shape is unknown and is NOT a claim about the API.
      x-ae-placeholder: true