{"files":{"SKILL.md":"---\nname: vtex-do-api\ndescription: \"VTEX DO API skill. Use when working with VTEX DO for notes, tasks. Covers 8 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# VTEX DO API\nAPI version: 1.0\n\n## Auth\nApiKey X-VTEX-API-AppKey in header | ApiKey X-VTEX-API-AppToken in header | ApiKey VtexIdclientAutCookie in header\n\n## Base URL\nhttps://apiexamples.vtexcommercestable.com.br/api/do\n\n## Setup\n1. Set your API key in the appropriate header\n2. GET /notes -- verify access\n3. POST /notes -- create first notes\n\n## Endpoints\n\n8 endpoints across 2 groups. See references/api-spec.lap for full details.\n\n### notes\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /notes | Create note |\n| GET | /notes | Get notes by order ID |\n| GET | /notes/{noteId} | Retrieve note |\n\n### tasks\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /tasks | Create task |\n| GET | /tasks | List tasks |\n| GET | /tasks/{taskId} | Retrieve task |\n| PUT | /tasks/{taskId} | Update task |\n| POST | /tasks/{taskId}/comments | Add comment on a task |\n\n## Common Questions\n\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a note?\" -> POST /notes\n- \"List all notes?\" -> GET /notes\n- \"Get note details?\" -> GET /notes/{noteId}\n- \"Create a task?\" -> POST /tasks\n- \"List all tasks?\" -> GET /tasks\n- \"Get task details?\" -> GET /tasks/{taskId}\n- \"Update a task?\" -> PUT /tasks/{taskId}\n- \"Create a comment?\" -> POST /tasks/{taskId}/comments\n- \"How to authenticate?\" -> See Auth section\n\n## Response Tips\n- Check response schemas in references/api-spec.lap for field details\n- List endpoints may support pagination; check for limit, offset, or cursor params\n- Create/update endpoints typically return the created/updated object\n\n## CLI\n\n```bash\n# Update this spec to the latest version\nnpx @lap-platform/lapsh get vtex-do-api -o references/api-spec.lap\n\n# Search for related APIs\nnpx @lap-platform/lapsh search vtex-do-api\n```\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 VTEX DO API\n@base https://apiexamples.vtexcommercestable.com.br/api/do\n@version 1.0\n@auth ApiKey X-VTEX-API-AppKey in header | ApiKey X-VTEX-API-AppToken in header | ApiKey VtexIdclientAutCookie in header\n@common_fields {Content-Type: str # Type of the content being sent., Accept: str # HTTP Client Negotiation _Accept_ Header. Indicates the types of responses the client can understand.}\n@endpoints 8\n@toc notes(3), tasks(5)\n\n@group notes\n@endpoint POST /notes\n@desc Create note\n@required {target: map{id: str, type: str, url: str} # Target., domain: str # Domain identification., description: str # Note description. Maximum number of characters: 2000.}\n@optional {createdBy: map{id: str, name: str} # Object with information about the user that created the note.}\n@returns(200) {id: str, domain: str, owner: str, target: map{id: str, type: str, url: str}, description: str, creationDate: str, lastUpdate: str, createdBy: map?{id: str, name: str, email: str, key: str?}} # OK\n\n@endpoint GET /notes\n@desc Get notes by order ID\n@required {target.id: str # Order ID.}\n@optional {perPage: int # Number of notes per page. Maximum: 30., page: int # Number of the page to be retrieved., reason: str # This parameter is relevant only for accounts using [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus). When sending requests to this endpoint, accounts with the [PII data architecture](https://developers.vtex.com/docs/guides/pii-data-architecture-specifications) can use this parameter to declare the reason for requesting unmasked data. Otherwise, this endpoint will return masked PII data.}\n@returns(200) OK\n\n@endpoint GET /notes/{noteId}\n@desc Retrieve note\n@required {noteId: str # Note ID.}\n@optional {reason: str # This parameter is relevant only for accounts using [Data Protection Plus](https://developers.vtex.com/docs/guides/data-protection-plus). When sending requests to this endpoint, accounts with the [PII data architecture](https://developers.vtex.com/docs/guides/pii-data-architecture-specifications) can use this parameter to declare the reason for requesting unmasked data. Otherwise, this endpoint will return masked PII data.}\n@returns(200) OK\n\n@endgroup\n\n@group tasks\n@endpoint POST /tasks\n@desc Create task\n@required {target: [map{id!: str, type!: str, url!: str}] # Target information for creating the task., domain: str # Task domain in the VTEX environment., context: str # Task context., name: str # Task name., priority: str # Task level of priority., surrogateKey: str # [Surrogate key](https://www.ibm.com/docs/en/ida/9.1?topic=keys-surrogate) unique identifier of the task., dueDate: str # Task deadline in `hh:mm:ss` format., assignee: map{id: str, name: str, email!: str} # Assignee to whom the task will be designated., followers: [map{id: str, name: str, email!: str}] # Task follower array.}\n@optional {description: str # Additional task comment., parentTaskId: str # Parent task ID of another task related the task being created, when applicable.}\n@returns(200) OK\n\n@endpoint GET /tasks\n@desc List tasks\n@optional {assignee.email: str # If you wish to list tasks by assignee, insert the desired assignee's email and status., target.id: str # If you wish to list tasks by target, insert the desired `targetId` and `status`., context: str # If you wish to list tasks by context, insert the desired context, `page`, `perPage` and `status`., page: str # If you wish to list tasks by context, also insert the desired `page`., perPage: str # If you wish to list tasks by context, also insert the desired `perPage` value., status: str # If you wish to list tasks by context, also insert the desired `status`.}\n@returns(200) {piiHidden: bool, items: [map], paging: map{page: int, perPage: int, total: int, pages: int}} # OK\n\n@endpoint GET /tasks/{taskId}\n@desc Retrieve task\n@required {taskId: str # Task ID.}\n@returns(200) OK\n\n@endpoint PUT /tasks/{taskId}\n@desc Update task\n@required {taskId: str # Task ID., status: str(Open/Closed/Suspended/InProgress) # Task status update.}\n@returns(200) OK\n\n@endpoint POST /tasks/{taskId}/comments\n@desc Add comment on a task\n@required {taskId: str # Task ID., text: str # Text you wish to add to the task.}\n@returns(200) OK\n\n@endgroup\n\n@end\n"}}