# Antideploy Deploy an application from a directory. No Dockerfile, no YAML, no cloud console. ## Start here The complete machine-readable contract is one unauthenticated GET: https://antideploy.com/api/v1 Fetch it before doing anything else. It carries every endpoint, request shape, error code and limit, and its `start` section is the whole path from an empty terminal to a live URL. Nothing else needs to be read first. ## The short version 1. Log in, if ~/.antideploy/config.json has no token yet. POST https://antideploy.com/api/v1/device/code, show the user the verificationUriComplete it returns, then poll POST https://antideploy.com/api/v1/device/token until it grants a token. The user clicks Approve once. That is the only human step in the whole flow. 2. Create the application, if the project has no .antideploy.json. POST https://antideploy.com/api/v1/applications with {"name":""}. Save the returned applicationId to .antideploy.json. It holds no secret and can be committed. Ask your user for the address first. The app is published at .antideploy.com, and that is the link they will send people, so it is theirs to choose and not yours to guess. Ask what they want, check it with GET https://antideploy.com/api/v1/hostnames/check?label=