{
    "openapi": "3.1.0",
    "info": {
        "title": "Alcor Industries quote API",
        "version": "1.0.0",
        "description": "Ask Alcor Industries for a written quote on behalf of a person or business. A person reads every request and replies by email. Nothing is charged through this API.",
        "contact": {
            "email": "alcor@alcor-industries.com",
            "url": "https://alcor-industries.com/agents/"
        }
    },
    "servers": [
        {
            "url": "https://alcor-industries.com"
        }
    ],
    "paths": {
        "/wp-json/alcoros/v1/contact": {
            "post": {
                "operationId": "requestQuote",
                "summary": "Request a written quote",
                "description": "Send only when the person you act for asked you to. Include who you are acting for in the message. Retrying with the same submission_id never saves a request twice.",
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "type": "object",
                                "required": [
                                    "name",
                                    "email",
                                    "message"
                                ],
                                "properties": {
                                    "name": {
                                        "type": "string",
                                        "maxLength": 120,
                                        "description": "The person the site or tool is for."
                                    },
                                    "email": {
                                        "type": "string",
                                        "format": "email",
                                        "description": "Where the reply goes. Must be an inbox the person reads."
                                    },
                                    "message": {
                                        "type": "string",
                                        "minLength": 5,
                                        "maxLength": 4000,
                                        "description": "What should be built, which Arcana design if any, and that you are an AI agent acting for this person."
                                    },
                                    "company": {
                                        "type": "string",
                                        "maxLength": 160
                                    },
                                    "role_title": {
                                        "type": "string",
                                        "maxLength": 160
                                    },
                                    "current_process": {
                                        "type": "string",
                                        "maxLength": 4000,
                                        "description": "How the job is handled today."
                                    },
                                    "desired_outcome": {
                                        "type": "string",
                                        "maxLength": 4000,
                                        "description": "What should be different when it is done."
                                    },
                                    "timeline": {
                                        "type": "string",
                                        "enum": [
                                            "exploring",
                                            "30-days",
                                            "1-3-months",
                                            "3-plus-months",
                                            "unsure"
                                        ]
                                    },
                                    "budget_band": {
                                        "type": "string",
                                        "enum": [
                                            "under-5k",
                                            "5k-15k",
                                            "15k-50k",
                                            "50k-plus"
                                        ]
                                    },
                                    "submission_id": {
                                        "type": "string",
                                        "format": "uuid",
                                        "description": "A UUID v4 you generate once per request and reuse on retries."
                                    },
                                    "landing_cohort": {
                                        "type": "string",
                                        "description": "Use \"agent\"."
                                    }
                                }
                            }
                        }
                    }
                },
                "responses": {
                    "200": {
                        "description": "Received. A person will reply by email.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object",
                                    "properties": {
                                        "ok": {
                                            "type": "boolean"
                                        },
                                        "lead": {
                                            "type": "boolean"
                                        },
                                        "opportunity_id": {
                                            "type": "string"
                                        }
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Missing name, a valid email, or a message."
                    },
                    "409": {
                        "description": "This submission_id was already used with different details. Generate a new one."
                    },
                    "500": {
                        "description": "Saved, but the email alert failed. Safe to retry with the same submission_id."
                    },
                    "503": {
                        "description": "Temporarily unavailable. Retry later with the same submission_id."
                    }
                }
            }
        },
        "/agents.json": {
            "get": {
                "operationId": "getCatalog",
                "summary": "Services, prices, the 22 Arcana sites and the free apps",
                "responses": {
                    "200": {
                        "description": "The catalog.",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}