{"files":{"SKILL.md":"---\nname: pos-terminal-management-api-deprecated\ndescription: \"POS Terminal Management API (deprecated) API skill. Use when working with POS Terminal Management API (deprecated) for assignTerminals, findTerminal, getStoresUnderAccount. Covers 5 endpoints.\"\nversion: 1.0.0\ngenerator: lapsh\n---\n\n# POS Terminal Management API (deprecated)\nAPI version: 1\n\n## Auth\nApiKey X-API-Key in header | Bearer basic\n\n## Base URL\nhttps://postfmapi-test.adyen.com/postfmapi/terminal/v1\n\n## Setup\n1. Set Authorization header with Bearer token\n2. Verify API access with a test request\n3. POST /assignTerminals -- create first assignTerminal\n\n## Endpoints\n5 endpoints across 5 groups. See references/api-spec.lap for full details.\n\n### AssignTerminals\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /assignTerminals | Assign terminals |\n\n### FindTerminal\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /findTerminal | Get the account or store of a terminal |\n\n### GetStoresUnderAccount\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /getStoresUnderAccount | Get the stores of an account |\n\n### GetTerminalDetails\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /getTerminalDetails | Get the details of a terminal |\n\n### GetTerminalsUnderAccount\n| Method | Path | Description |\n|--------|------|-------------|\n| POST | /getTerminalsUnderAccount | Get the list of terminals |\n\n## Common Questions\nMatch user requests to endpoints in references/api-spec.lap. Key patterns:\n- \"Create a assignTerminal?\" -> POST /assignTerminals\n- \"Create a findTerminal?\" -> POST /findTerminal\n- \"Create a getStoresUnderAccount?\" -> POST /getStoresUnderAccount\n- \"Create a getTerminalDetail?\" -> POST /getTerminalDetails\n- \"Create a getTerminalsUnderAccount?\" -> POST /getTerminalsUnderAccount\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 POS Terminal Management API (deprecated)\n@base https://postfmapi-test.adyen.com/postfmapi/terminal/v1\n@version 1\n@auth ApiKey X-API-Key in header | Bearer basic\n@endpoints 5\n@toc assignTerminals(1), findTerminal(1), getStoresUnderAccount(1), getTerminalDetails(1), getTerminalsUnderAccount(1)\n\n@group assignTerminals\n@endpoint POST /assignTerminals\n@desc Assign terminals\n@required {companyAccount: str # Your company account. To return terminals to the company inventory, specify only this parameter and the `terminals`., terminals: [str] # Array containing a list of terminal IDs that you want to assign or reassign to the merchant account or store, or that you want to return to the company inventory.  For example, `[\"V400m-324689776\",\"P400Plus-329127412\"]`.}\n@optional {merchantAccount: str # Name of the merchant account. Specify this parameter to assign terminals to this merchant account or to a store under this merchant account., merchantInventory: bool # Boolean that indicates if you are assigning the terminals to the merchant inventory. Do not use when assigning terminals to a store. Required when assigning the terminal to a merchant account.  - Set this to **true** to assign the terminals to the merchant inventory. This also means that the terminals cannot be boarded.  - Set this to **false** to assign the terminals to the merchant account as in-store terminals. This makes the terminals ready to be boarded and to process payments through the specified merchant account., store: str # The store code of the store that you want to assign the terminals to.}\n@returns(200) {results: map} # OK - the request has succeeded.\n@errors {400: Bad Request - a problem reading or understanding the request., 401: Unauthorized - authentication required., 403: Forbidden - insufficient permissions to process the request., 422: Unprocessable Entity - a request validation error., 500: Internal Server Error - the server could not process the request.}\n@example_request {\"companyAccount\":\"YOUR_COMPANY_ACCOUNT\",\"terminals\":[\"P400Plus-275479597\"]}\n\n@endgroup\n\n@group findTerminal\n@endpoint POST /findTerminal\n@desc Get the account or store of a terminal\n@required {terminal: str # The unique terminal ID in the format `[Device model]-[Serial number]`.   For example, **V400m-324689776**.}\n@returns(200) {companyAccount: str, merchantAccount: str, merchantInventory: bool, store: str, terminal: str} # OK - the request has succeeded.\n@errors {400: Bad Request - a problem reading or understanding the request., 401: Unauthorized - authentication required., 403: Forbidden - insufficient permissions to process the request., 422: Unprocessable Entity - a request validation error., 500: Internal Server Error - the server could not process the request.}\n@example_request {\"terminal\":\"M400-401972715\"}\n\n@endgroup\n\n@group getStoresUnderAccount\n@endpoint POST /getStoresUnderAccount\n@desc Get the stores of an account\n@required {companyAccount: str # The company account. If you only specify this parameter, the response includes the stores of all merchant accounts that are associated with the company account.}\n@optional {merchantAccount: str # The merchant account. With this parameter, the response only includes the stores of the specified merchant account.}\n@returns(200) {stores: [map]} # OK - the request has succeeded.\n@errors {400: Bad Request - a problem reading or understanding the request., 401: Unauthorized - authentication required., 403: Forbidden - insufficient permissions to process the request., 422: Unprocessable Entity - a request validation error., 500: Internal Server Error - the server could not process the request.}\n@example_request {\"companyAccount\":\"YOUR_COMPANY_ACCOUNT\"}\n\n@endgroup\n\n@group getTerminalDetails\n@endpoint POST /getTerminalDetails\n@desc Get the details of a terminal\n@required {terminal: str # The unique terminal ID in the format `[Device model]-[Serial number]`.   For example, **V400m-324689776**.}\n@returns(200) {bluetoothIp: str, bluetoothMac: str, companyAccount: str, country: str, deviceModel: str, dhcpEnabled: bool, displayLabel: str?, ethernetIp: str?, ethernetMac: str?, firmwareVersion: str, iccid: str?, lastActivityDateTime: str(date-time)?, lastTransactionDateTime: str(date-time)?, linkNegotiation: str?, merchantAccount: str, merchantInventory: bool, permanentTerminalId: str, serialNumber: str, simStatus: str?, store: str, storeDetails: map{address: map{city: str, countryCode: str, postalCode: str, stateOrProvince: str, streetAddress: str, streetAddress2: str}, description: str, inStoreTerminals: [str], merchantAccountCode: str, status: str, store: str}, terminal: str, terminalStatus: str, wifiIp: str, wifiMac: str} # OK - the request has succeeded.\n@errors {400: Bad Request - a problem reading or understanding the request., 401: Unauthorized - authentication required., 403: Forbidden - insufficient permissions to process the request., 422: Unprocessable Entity - a request validation error., 500: Internal Server Error - the server could not process the request.}\n@example_request {\"terminal\":\"M400-401972715\"}\n\n@endgroup\n\n@group getTerminalsUnderAccount\n@endpoint POST /getTerminalsUnderAccount\n@desc Get the list of terminals\n@required {companyAccount: str # Your company account. If you only specify this parameter, the response includes all terminals at all account levels.}\n@optional {merchantAccount: str # The merchant account. This is required if you are retrieving the terminals assigned to a store.If you don't specify a `store` the response includes the terminals assigned to the specified merchant account and the terminals assigned to the stores under this merchant account., store: str # The store code of the store. With this parameter, the response only includes the terminals assigned to the specified store.}\n@returns(200) {companyAccount: str, inventoryTerminals: [str], merchantAccounts: [map]} # OK - the request has succeeded.\n@errors {400: Bad Request - a problem reading or understanding the request., 401: Unauthorized - authentication required., 403: Forbidden - insufficient permissions to process the request., 422: Unprocessable Entity - a request validation error., 500: Internal Server Error - the server could not process the request.}\n@example_request {\"companyAccount\":\"YOUR_COMPANY_ACCOUNT\"}\n\n@endgroup\n\n@end\n"}}