{"files":{"SKILL.md":"---\nname: authentiq-api\ndescription: \"Authentiq API skill. Use when working with Authentiq for key, login, scope. Covers 14 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# Authentiq API\nAPI version: 6\n\n## Auth\nApiKey secret in query\n\n## Base URL\nhttps://6-dot-authentiqio.appspot.com/\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /key/{PK} -- get public details of an authentiq id.\n3. POST /key -- create first key\n\n## Endpoints\n14 endpoints across 3 groups. See references/api-spec.lap for full details.\n\n### Key\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /key | Register a new ID `JWT(sub, devtoken)` |\n| DELETE | /key | Revoke an Authentiq ID using email & phone. |\n| GET | /key/{PK} | Get public details of an Authentiq ID. |\n| POST | /key/{PK} | update properties of an Authentiq ID. |\n| HEAD | /key/{PK} | HEAD info on Authentiq ID |\n| PUT | /key/{PK} | Update Authentiq ID by replacing the object. |\n| DELETE | /key/{PK} | Revoke an Identity (Key) with a revocation secret |\n\n### Login\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /login | push sign-in request |\n\n### Scope\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /scope | scope verification request |\n| POST | /scope/{job} | this is a scope confirmation |\n| PUT | /scope/{job} | authority updates a JWT with its signature |\n| GET | /scope/{job} | get the status / current content of a verification job |\n| HEAD | /scope/{job} | HEAD to get the status of a verification job |\n| DELETE | /scope/{job} | delete a verification job |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a key?\" -> POST /key\n- \"Get key details?\" -> GET /key/{PK}\n- \"Update a key?\" -> PUT /key/{PK}\n- \"Delete a key?\" -> DELETE /key/{PK}\n- \"Create a login?\" -> POST /login\n- \"Create a scope?\" -> POST /scope\n- \"Update a scope?\" -> PUT /scope/{job}\n- \"Get scope details?\" -> GET /scope/{job}\n- \"Delete a scope?\" -> DELETE /scope/{job}\n- \"How to authenticate?\" -> See Auth section above\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- Create/update endpoints return the modified resource on success\n- Error responses include status codes and descriptions in the spec\n\n## References\n- Full spec: See references/api-spec.lap for complete endpoint details, parameter tables, and response schemas\n\n> Generated from the official API spec by [LAP](https://lap.sh)\n","references/api-spec.lap":"@lap v0.3\n# Machine-readable API spec. Each @endpoint block is one API call.\n@api Authentiq API\n@base https://6-dot-authentiqio.appspot.com/\n@version 6\n@auth ApiKey secret in query\n@endpoints 14\n@toc key(7), login(1), scope(6)\n\n@group key\n@endpoint POST /key\n@desc Register a new ID `JWT(sub, devtoken)`\n@required {body: any # Authentiq ID to register}\n@returns(201) Successfully registered\n@errors {409: Key already registered `duplicate-key`}\n\n@endpoint DELETE /key\n@desc Revoke an Authentiq ID using email & phone.\n@required {email: any # primary email associated to Key (ID), phone: any # primary phone number, international representation}\n@optional {code: any # verification code sent by email}\n@returns(200) Successfully deleted\n@errors {401: Authentication error `auth-error`, 404: Unknown key `unknown-key`, 409: Confirm with code sent `confirm-first`}\n\n@endpoint GET /key/{PK}\n@desc Get public details of an Authentiq ID.\n@required {PK: any # Public Signing Key - Authentiq ID (43 chars)}\n@returns(200) Successfully retrieved\n@errors {404: Unknown key `unknown-key`, 410: Key is revoked (gone). `revoked-key`}\n\n@endpoint POST /key/{PK}\n@desc update properties of an Authentiq ID.\n@required {PK: any # Public Signing Key - Authentiq ID (43 chars), body: any # Authentiq ID to register}\n@returns(200) Successfully updated\n@errors {404: Unknown key `unknown-key`}\n\n@endpoint HEAD /key/{PK}\n@desc HEAD info on Authentiq ID\n@required {PK: any # Public Signing Key - Authentiq ID (43 chars)}\n@returns(200) Key exists\n@errors {404: Unknown key `unknown-key`, 410: Key is revoked `revoked-key`}\n\n@endpoint PUT /key/{PK}\n@desc Update Authentiq ID by replacing the object.\n@required {PK: any # Public Signing Key - Authentiq ID (43 chars), body: any # Authentiq ID to register}\n@returns(200) Successfully updated\n@errors {404: Unknown key `unknown-key`, 409: Already bound to another key `duplicate-hash`}\n\n@endpoint DELETE /key/{PK}\n@desc Revoke an Identity (Key) with a revocation secret\n@required {PK: any # Public Signing Key - Authentiq ID (43 chars), secret: any # revokation secret}\n@returns(200) Successful response\n@errors {401: Key not found / wrong code `auth-error`, 404: Unknown key `unknown-key`}\n\n@endgroup\n\n@group login\n@endpoint POST /login\n@desc push sign-in request\n@required {body: any # Push Token., callback: any # URI App will connect to}\n@returns(200) Successful response\n@errors {401: Unauthorized for this callback audience `aud-error` or JWT should be self-signed `auth-error`}\n\n@endgroup\n\n@group scope\n@endpoint POST /scope\n@desc scope verification request\n@required {body: any # Claims of scope}\n@optional {test: any # test only mode, using test issuer}\n@returns(201) Successful response\n@errors {429: Too Many Requests on same address / number `rate-limit`}\n\n@endpoint POST /scope/{job}\n@desc this is a scope confirmation\n@required {job: any # Job ID (20 chars)}\n@returns(202) Successfully confirmed\n@errors {401: Confirmation error `auth-error`, 404: Job not found `unknown-job`, 405: JWT POSTed to scope `not-supported`}\n\n@endpoint PUT /scope/{job}\n@desc authority updates a JWT with its signature\n@required {job: any # Job ID (20 chars)}\n@returns(200) Successfully updated\n@errors {404: Job not found `unknown-job`, 409: Job not confirmed yet `confirm-first`}\n\n@endpoint GET /scope/{job}\n@desc get the status / current content of a verification job\n@required {job: any # Job ID (20 chars)}\n@returns(200) Successful response (JWT)\n@returns(204) Confirmed, waiting for signing\n@errors {404: Job not found `unknown-job`}\n\n@endpoint HEAD /scope/{job}\n@desc HEAD to get the status of a verification job\n@required {job: any # Job ID (20 chars)}\n@returns(200) Confirmed and signed\n@returns(204) Confirmed, waiting for signing\n@errors {404: Job not found `unknown-job`}\n\n@endpoint DELETE /scope/{job}\n@desc delete a verification job\n@required {job: any # Job ID (20 chars)}\n@returns(200) Successfully deleted\n@errors {404: Job not found `unknown-job`}\n\n@endgroup\n\n@end\n"}}