{"files":{"SKILL.md":"---\nname: aws-iot-jobs-data-plane\ndescription: \"AWS IoT Jobs Data Plane API skill. Use when working with AWS IoT Jobs Data Plane for things. Covers 4 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# AWS IoT Jobs Data Plane\nAPI version: 2017-09-29\n\n## Auth\nAWS SigV4\n\n## Base URL\nNot specified.\n\n## Setup\n1. Configure auth: AWS SigV4\n2. GET /things/{thingName}/jobs/{jobId} -- gets details of a job execution.\n3. POST /things/{thingName}/jobs/{jobId} -- create first job\n\n## Endpoints\n4 endpoints across 1 group. See references/api-spec.lap for full details.\n\n### Things\n| Method | Path | Description |\n|--------|------|-------------|\n| GET | /things/{thingName}/jobs/{jobId} | Gets details of a job execution. |\n| GET | /things/{thingName}/jobs | Gets the list of all jobs for a thing that are not in a terminal status. |\n| PUT | /things/{thingName}/jobs/$next | Gets and starts the next pending (status IN_PROGRESS or QUEUED) job execution for a thing. |\n| POST | /things/{thingName}/jobs/{jobId} | Updates the status of a job execution. |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Get job details?\" -> GET /things/{thingName}/jobs/{jobId}\n- \"List all jobs?\" -> GET /things/{thingName}/jobs\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\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 AWS IoT Jobs Data Plane\n@version 2017-09-29\n@auth AWS SigV4\n@endpoints 4\n@toc things(4)\n\n@endpoint GET /things/{thingName}/jobs/{jobId}\n@desc Gets details of a job execution.\n@required {jobId: str, thingName: str}\n@optional {includeJobDocument: bool, executionNumber: int(i64)}\n@returns(200) {execution: JobExecution?{jobId: str?, thingName: str?, status: str?, statusDetails: map<str, str>?: any, queuedAt: int(i64)?, startedAt: int(i64)?, lastUpdatedAt: int(i64)?, approximateSecondsBeforeTimedOut: int(i64)?, versionNumber: int(i64)?, executionNumber: int(i64)?, jobDocument: str?}}\n\n@endpoint GET /things/{thingName}/jobs\n@desc Gets the list of all jobs for a thing that are not in a terminal status.\n@required {thingName: str}\n@returns(200) {inProgressJobs: [JobExecutionSummary]?, queuedJobs: [JobExecutionSummary]?}\n\n@endpoint PUT /things/{thingName}/jobs/$next\n@desc Gets and starts the next pending (status IN_PROGRESS or QUEUED) job execution for a thing.\n@required {thingName: str}\n@optional {statusDetails: map<str,str>, stepTimeoutInMinutes: int(i64)}\n@returns(200) {execution: JobExecution?{jobId: str?, thingName: str?, status: str?, statusDetails: map<str, str>?: any, queuedAt: int(i64)?, startedAt: int(i64)?, lastUpdatedAt: int(i64)?, approximateSecondsBeforeTimedOut: int(i64)?, versionNumber: int(i64)?, executionNumber: int(i64)?, jobDocument: str?}}\n\n@endpoint POST /things/{thingName}/jobs/{jobId}\n@desc Updates the status of a job execution.\n@required {jobId: str, thingName: str, status: str}\n@optional {statusDetails: map<str,str>, stepTimeoutInMinutes: int(i64), expectedVersion: int(i64), includeJobExecutionState: bool, includeJobDocument: bool, executionNumber: int(i64)}\n@returns(200) {executionState: JobExecutionState?{status: str?, statusDetails: map<str, str>?: any, versionNumber: int(i64)?}, jobDocument: str?}\n\n@end\n"}}