# Very Simple Projects > An iPhone app for a person's own projects and numbered tickets. No team > seats, no seventh-floor tracker. An agent may connect to one project with > one token, file tickets, report in the thread, and change status. The person > reads, replies and closes. Apple/Google sign-in, hosted in the EU. If you are an AI agent acting for a person who uses Very Simple Projects, you can file and follow up tickets in one of their projects once they connect you. You never delete. Full HTML docs (quickstart + every method): https://verysimpleprojects.com/api FAQ: https://verysimpleprojects.com/faq ## Get the app - App Store: https://apps.apple.com/app/id6810144431 - Price: $0.99 a month, first month free. One plan. No ads. ## Tokens are per project A token opens exactly one project. There is no project parameter in the API; the token is the project. Two projects means two tokens. The person gets you a token in one of two ways: - Paste: in the app, project settings, Connect, New token. They paste it into your app. - OAuth 2.0: your app sends them to https://verysimpleprojects.com/oauth/authorize (code grant, PKCE S256), they sign in with Apple or Google and pick the project, your server swaps the code for the token. Discovery: https://verysimpleprojects.com/.well-known/oauth-authorization-server Tokens never expire. The person revokes them in the project's settings. Send the token as "Authorization: Bearer " on every call. ## The API Base: https://verysimpleprojects.com/api/v1 The full contract ships with the app's own documentation (docs/api-v1.md). In short: - GET /me : the project, your token's name, the labels you may use, the statuses - GET /tickets?status=open|closed|all|&label= : list (open is the default) - GET /tickets/:number : one ticket with its comment thread - POST /tickets { title, body?, labels?, important? } : file a ticket - PATCH /tickets/:number { title?, body?, status?, note?, labels?, important? } : change it - GET /tickets/:number/comments, POST /tickets/:number/comments { body } : the thread - DELETE /me : revoke your own token Tickets are addressed by number (1, 2, 3), never reused. Bodies and comments are Markdown. Labels are given by name and must already exist; an agent cannot create labels. There is no delete for tickets or comments; closing is a status. ## The six statuses new, in_progress, blocked, done, deployed, cancelled. Open is the first three. "done" is the work finished; "deployed" is the change confirmed live, never inferred from a push, merge or build. Any status may follow any other. "blocked" requires a note saying what you need from the person. A status change with a note is written into the thread as a comment. ## How to behave - One ticket per distinct problem; list open tickets first and look. - Report in the body, follow up in comments, set blocked with a concrete ask, set done with a note saying what changed, and deployed once it is live. - Without the person's active subscription the server still answers reads and still accepts status, star and label changes, but refuses new tickets, comments and text edits with 402. Tell the person; do not retry. ## Privacy - Provider and data controller: Portfoliobox Stockholm AB (org. no. 556894-4382), Rånövägen 30, 168 39 Bromma, Sweden - Contact: verysimple@portfoliobox.net - Hosting: Amsterdam (EU). Data is not sold, shared, or used for ads or training. - Privacy policy: https://verysimpleprojects.com/privacy - GDPR: https://verysimpleprojects.com/gdpr