Square · Schema
ListDevicesResponse
BookingLocationSquareRestaurantCatalogCheckoutCustomersDisputesE-CommerceFinancial TechnologyGift CardsInventoryInvoicingLaborLoyaltyMerchantsOrderPaymentsPoint-of-SaleRefundsRetailSubscriptionTeamWebhookPayment ProcessingPayment Terminals
Properties
| Name | Type | Description |
|---|---|---|
| errors | array | Information about errors that occurred during the request. |
| devices | array | The requested list of `Device` objects. |
| cursor | string | The pagination cursor to be used in a subsequent request. If empty, this is the final response. See [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination) for mo |
JSON Schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://raw.githubusercontent.com/api-evangelist/square/main/json-schema/square-list-devices-response-schema.json",
"title": "ListDevicesResponse",
"x-generated": "2026-10-12",
"x-method": "derived",
"x-generator": "derive-json-schema.py",
"x-source": "openapi/square-devices-api-openapi.yml#/components/schemas/ListDevicesResponse",
"type": "object",
"x-release-status": "BETA",
"properties": {
"errors": {
"type": "array",
"items": {
"$ref": "#/$defs/Error"
},
"description": "Information about errors that occurred during the request."
},
"devices": {
"type": "array",
"items": {
"$ref": "#/$defs/Device"
},
"description": "The requested list of `Device` objects."
},
"cursor": {
"type": "string",
"description": "The pagination cursor to be used in a subsequent request. If empty,\nthis is the final response.\nSee [Pagination](https://developer.squareup.com/docs/build-basics/common-api-patterns/pagination) for more information."
}
},
"$defs": {
"ApplicationType": {
"type": "string",
"enum": [
"TERMINAL_API"
],
"x-enum-elements": [
{
"name": "TERMINAL_API",
"description": ""
}
],
"x-release-status": "BETA"
},
"Component": {
"type": "object",
"description": "The wrapper object for the component entries of a given component type.",
"x-release-status": "BETA",
"required": [
"type"
],
"properties": {
"type": {
"$ref": "#/$defs/ComponentComponentType",
"description": "The type of this component. Each component type has expected properties expressed\nin a structured format within its corresponding `*_details` field.\nSee [ComponentType](#type-componenttype) for possible values"
},
"application_details": {
"$ref": "#/$defs/DeviceComponentDetailsApplicationDetails",
"description": "Structured data for an `Application`, set for Components of type `APPLICATION`."
},
"card_reader_details": {
"$ref": "#/$defs/DeviceComponentDetailsCardReaderDetails",
"description": "Structured data for a `CardReader`, set for Components of type `CARD_READER`."
},
"battery_details": {
"$ref": "#/$defs/DeviceComponentDetailsBatteryDetails",
"description": "Structured data for a `Battery`, set for Components of type `BATTERY`."
},
"wifi_details": {
"$ref": "#/$defs/DeviceComponentDetailsWiFiDetails",
"description": "Structured data for a `WiFi` interface, set for Components of type `WIFI`."
},
"ethernet_details": {
"$ref": "#/$defs/DeviceComponentDetailsEthernetDetails",
"description": "Structured data for an `Ethernet` interface, set for Components of type `ETHERNET`."
}
}
},
"ComponentComponentType": {
"type": "string",
"enum": [
"APPLICATION",
"CARD_READER",
"BATTERY",
"WIFI",
"ETHERNET",
"PRINTER"
],
"x-enum-elements": [
{
"name": "APPLICATION",
"description": ""
},
{
"name": "CARD_READER",
"description": ""
},
{
"name": "BATTERY",
"description": ""
},
{
"name": "WIFI",
"description": ""
},
{
"name": "ETHERNET",
"description": ""
},
{
"name": "PRINTER",
"description": ""
}
],
"description": "An enum for ComponentType.",
"x-release-status": "BETA"
},
"Device": {
"type": "object",
"x-release-status": "BETA",
"required": [
"attributes"
],
"properties": {
"id": {
"type": "string",
"description": "A synthetic identifier for the device. The identifier includes a standardized prefix and\nis otherwise an opaque id generated from key device fields.",
"readOnly": true
},
"attributes": {
"$ref": "#/$defs/DeviceAttributes",
"description": "A collection of DeviceAttributes representing the device."
},
"components": {
"type": [
"array",
"null"
],
"items": {
"$ref": "#/$defs/Component"
},
"description": "A list of components applicable to the device."
},
"status": {
"$ref": "#/$defs/DeviceStatus",
"description": "The current status of the device.",
"readOnly": true
}
}
},
"DeviceAttributes": {
"type": "object",
"x-release-status": "BETA",
"required": [
"type",
"manufacturer"
],
"properties": {
"type": {
"$ref": "#/$defs/DeviceAttributesDeviceType",
"description": "The device type.\nSee [DeviceType](#type-devicetype) for possible values"
},
"manufacturer": {
"type": "string",
"description": "The maker of the device."
},
"model": {
"type": [
"string",
"null"
],
"description": "The specific model of the device."
},
"name": {
"type": [
"string",
"null"
],
"description": "A seller-specified name for the device."
},
"manufacturers_id": {
"type": [
"string",
"null"
],
"description": "The manufacturer-supplied identifier for the device (where available). In many cases,\nthis identifier will be a serial number."
},
"updated_at": {
"type": "string",
"description": "The RFC 3339-formatted value of the most recent update to the device information.\n(Could represent any field update on the device.)"
},
"version": {
"type": "string",
"description": "The current version of software installed on the device."
},
"merchant_token": {
"type": [
"string",
"null"
],
"description": "The merchant_token identifying the merchant controlling the device."
}
}
},
"DeviceAttributesDeviceType": {
"type": "string",
"enum": [
"TERMINAL"
],
"x-enum-elements": [
{
"name": "TERMINAL",
"description": ""
}
],
"description": "An enum identifier of the device type.",
"x-release-status": "BETA"
},
"DeviceComponentDetailsApplicationDetails": {
"type": "object",
"x-release-status": "BETA",
"properties": {
"application_type": {
"$ref": "#/$defs/ApplicationType",
"description": "The type of application.\nSee [ApplicationType](#type-applicationtype) for possible values"
},
"version": {
"type": "string",
"description": "The version of the application."
},
"session_location": {
"type": [
"string",
"null"
],
"description": "The location_id of the session for the application."
},
"device_code_id": {
"type": [
"string",
"null"
],
"description": "The id of the device code that was used to log in to the device."
}
}
},
"DeviceComponentDetailsBatteryDetails": {
"type": "object",
"x-release-status": "BETA",
"properties": {
"visible_percent": {
"type": [
"integer",
"null"
],
"description": "The battery charge percentage as displayed on the device."
},
"external_power": {
"$ref": "#/$defs/DeviceComponentDetailsExternalPower",
"description": "The status of external_power.\nSee [ExternalPower](#type-externalpower) for possible values"
}
}
},
"DeviceComponentDetailsCardReaderDetails": {
"type": "object",
"x-release-status": "BETA",
"properties": {
"version": {
"type": "string",
"description": "The version of the card reader."
}
}
},
"DeviceComponentDetailsEthernetDetails": {
"type": "object",
"x-release-status": "BETA",
"properties": {
"active": {
"type": [
"boolean",
"null"
],
"description": "A boolean to represent whether the Ethernet interface is currently active."
},
"ip_address_v4": {
"type": [
"string",
"null"
],
"description": "The string representation of the device’s IPv4 address."
}
}
},
"DeviceComponentDetailsExternalPower": {
"type": "string",
"enum": [
"AVAILABLE_CHARGING",
"AVAILABLE_NOT_IN_USE",
"UNAVAILABLE",
"AVAILABLE_INSUFFICIENT"
],
"x-enum-elements": [
{
"name": "AVAILABLE_CHARGING",
"description": "Plugged in and charging."
},
{
"name": "AVAILABLE_NOT_IN_USE",
"description": "Fully charged."
},
{
"name": "UNAVAILABLE",
"description": "On battery power."
},
{
"name": "AVAILABLE_INSUFFICIENT",
"description": "Not providing enough power for the device."
}
],
"description": "An enum for ExternalPower.",
"x-release-status": "BETA"
},
"DeviceComponentDetailsMeasurement": {
"type": "object",
"description": "A value qualified by unit of measure.",
"x-release-status": "BETA",
"properties": {
"value": {
"type": [
"integer",
"null"
]
}
}
},
"DeviceComponentDetailsWiFiDetails": {
"type": "object",
"x-release-status": "BETA",
"properties": {
"active": {
"type": [
"boolean",
"null"
],
"description": "A boolean to represent whether the WiFI interface is currently active."
},
"ssid": {
"type": [
"string",
"null"
],
"description": "The name of the connected WIFI network."
},
"ip_address_v4": {
"type": [
"string",
"null"
],
"description": "The string representation of the device’s IPv4 address."
},
"secure_connection": {
"type": [
"string",
"null"
],
"description": "The security protocol for a secure connection (e.g. WPA2). None provided if the connection\nis unsecured."
},
"signal_strength": {
"$ref": "#/$defs/DeviceComponentDetailsMeasurement",
"description": "A representation of signal strength of the WIFI network connection."
}
}
},
"DeviceStatus": {
"type": "object",
"x-release-status": "BETA",
"properties": {
"category": {
"$ref": "#/$defs/DeviceStatusCategory",
"description": "\nSee [Category](#type-category) for possible values"
}
}
},
"DeviceStatusCategory": {
"type": "string",
"enum": [
"AVAILABLE",
"NEEDS_ATTENTION",
"OFFLINE"
],
"x-enum-elements": [
{
"name": "AVAILABLE",
"description": ""
},
{
"name": "NEEDS_ATTENTION",
"description": ""
},
{
"name": "OFFLINE",
"description": ""
}
],
"x-release-status": "BETA"
},
"Error": {
"type": "object",
"description": "Represents an error encountered during a request to the Connect API.\n\nSee [Handling errors](https://developer.squareup.com/docs/build-basics/handling-errors) for more information.",
"x-release-status": "PUBLIC",
"required": [
"category",
"code"
],
"properties": {
"category": {
"$ref": "#/$defs/ErrorCategory",
"description": "The high-level category for the error.\nSee [ErrorCategory](#type-errorcategory) for possible values"
},
"code": {
"$ref": "#/$defs/ErrorCode",
"description": "The specific code of the error.\nSee [ErrorCode](#type-errorcode) for possible values"
},
"detail": {
"type": "string",
"description": "A human-readable description of the error for debugging purposes."
},
"field": {
"type": "string",
"description": "The name of the field provided in the original request (if any) that\nthe error pertains to."
}
}
},
"ErrorCategory": {
"type": "string",
"enum": [
"API_ERROR",
"AUTHENTICATION_ERROR",
"INVALID_REQUEST_ERROR",
"RATE_LIMIT_ERROR",
"PAYMENT_METHOD_ERROR",
"REFUND_ERROR",
"MERCHANT_SUBSCRIPTION_ERROR",
"EXTERNAL_VENDOR_ERROR"
],
"x-enum-elements": [
{
"name": "API_ERROR",
"description": "An error occurred with the Connect API itself."
},
{
"name": "AUTHENTICATION_ERROR",
"description": "An authentication error occurred. Most commonly, the request had\na missing, malformed, or otherwise invalid `Authorization` header."
},
{
"name": "INVALID_REQUEST_ERROR",
"description": "The request was invalid. Most commonly, a required parameter was\nmissing, or a provided parameter had an invalid value."
},
{
"name": "RATE_LIMIT_ERROR",
"description": "Your application reached the Square API rate limit. You might receive this error if your application sends a high number of requests\nto Square APIs in a short period of time.\n\nYour application should monitor responses for `429 RATE_LIMITED` errors and use a retry mechanism with an [exponential backoff](https://en.wikipedia.org/wiki/Exponential_backoff)\nschedule to resend the requests at an increasingly slower rate. It is also a good practice to use a randomized delay (jitter) in your retry schedule."
},
{
"name": "PAYMENT_METHOD_ERROR",
"description": "An error occurred while processing a payment method. Most commonly,\nthe details of the payment method were invalid (such as a card's CVV\nor expiration date)."
},
{
"name": "REFUND_ERROR",
"description": "An error occurred while attempting to process a refund."
},
{
"name": "MERCHANT_SUBSCRIPTION_ERROR",
"description": "An error occurred when checking a merchant subscription status"
},
{
"name": "EXTERNAL_VENDOR_ERROR",
"description": "An error that is returned from an external vendor's API"
}
],
"description": "Indicates which high-level category of error has occurred during a\nrequest to the Connect API.",
"x-release-status": "PUBLIC"
},
"ErrorCode": {
"type": "string",
"enum": [
"INTERNAL_SERVER_ERROR",
"UNAUTHORIZED",
"ACCESS_TOKEN_EXPIRED",
"ACCESS_TOKEN_REVOKED",
"CLIENT_DISABLED",
"FORBIDDEN",
"INSUFFICIENT_SCOPES",
"APPLICATION_DISABLED",
"V1_APPLICATION",
"V1_ACCESS_TOKEN",
"CARD_PROCESSING_NOT_ENABLED",
"MERCHANT_SUBSCRIPTION_NOT_FOUND",
"BAD_REQUEST",
"MISSING_REQUIRED_PARAMETER",
"INCORRECT_TYPE",
"INVALID_TIME",
"INVALID_TIME_RANGE",
"INVALID_VALUE",
"INVALID_CURSOR",
"UNKNOWN_QUERY_PARAMETER",
"CONFLICTING_PARAMETERS",
"EXPECTED_JSON_BODY",
"INVALID_SORT_ORDER",
"VALUE_REGEX_MISMATCH",
"VALUE_TOO_SHORT",
"VALUE_TOO_LONG",
"VALUE_TOO_LOW",
"VALUE_TOO_HIGH",
"VALUE_EMPTY",
"ARRAY_LENGTH_TOO_LONG",
"ARRAY_LENGTH_TOO_SHORT",
"ARRAY_EMPTY",
"EXPECTED_BOOLEAN",
"EXPECTED_INTEGER",
"EXPECTED_FLOAT",
"EXPECTED_STRING",
"EXPECTED_OBJECT",
"EXPECTED_ARRAY",
"EXPECTED_MAP",
"EXPECTED_BASE64_ENCODED_BYTE_ARRAY",
"INVALID_ARRAY_VALUE",
"INVALID_ENUM_VALUE",
"INVALID_CONTENT_TYPE",
"INVALID_FORM_VALUE",
"CUSTOMER_NOT_FOUND",
"ONE_INSTRUMENT_EXPECTED",
"NO_FIELDS_SET",
"TOO_MANY_MAP_ENTRIES",
"MAP_KEY_LENGTH_TOO_SHORT",
"MAP_KEY_LENGTH_TOO_LONG",
"CUSTOMER_MISSING_NAME",
"CUSTOMER_MISSING_EMAIL",
"INVALID_PAUSE_LENGTH",
"INVALID_DATE",
"UNSUPPORTED_COUNTRY",
"UNSUPPORTED_CURRENCY",
"APPLE_TTP_PIN_TOKEN",
"CARD_EXPIRED",
"INVALID_EXPIRATION",
"INVALID_EXPIRATION_YEAR",
"INVALID_EXPIRATION_DATE",
"UNSUPPORTED_CARD_BRAND",
"UNSUPPORTED_ENTRY_METHOD",
"INVALID_ENCRYPTED_CARD",
"INVALID_CARD",
"PAYMENT_AMOUNT_MISMATCH",
"GENERIC_DECLINE",
"CVV_FAILURE",
"ADDRESS_VERIFICATION_FAILURE",
"INVALID_ACCOUNT",
"CURRENCY_MISMATCH",
"INSUFFICIENT_FUNDS",
"INSUFFICIENT_PERMISSIONS",
"CARDHOLDER_INSUFFICIENT_PERMISSIONS",
"INVALID_LOCATION",
"TRANSACTION_LIMIT",
"VOICE_FAILURE",
"PAN_FAILURE",
"EXPIRATION_FAILURE",
"CARD_NOT_SUPPORTED",
"INVALID_PIN",
"MISSING_PIN",
"MISSING_ACCOUNT_TYPE",
"INVALID_POSTAL_CODE",
"INVALID_FEES",
"MANUALLY_ENTERED_PAYMENT_NOT_SUPPORTED",
"PAYMENT_LIMIT_EXCEEDED",
"GIFT_CARD_AVAILABLE_AMOUNT",
"ACCOUNT_UNUSABLE",
"BUYER_REFUSED_PAYMENT",
"DELAYED_TRANSACTION_EXPIRED",
"DELAYED_TRANSACTION_CANCELED",
"DELAYED_TRANSACTION_CAPTURED",
"DELAYED_TRANSACTION_FAILED",
"CARD_TOKEN_EXPIRED",
"CARD_TOKEN_USED",
"AMOUNT_TOO_HIGH",
"UNSUPPORTED_INSTRUMENT_TYPE",
"REFUND_AMOUNT_INVALID",
"REFUND_ALREADY_PENDING",
"PAYMENT_NOT_REFUNDABLE",
"PAYMENT_NOT_REFUNDABLE_DUE_TO_DISPUTE",
"REFUND_DECLINED",
"INSUFFICIENT_PERMISSIONS_FOR_REFUND",
"INVALID_CARD_DATA",
"SOURCE_USED",
"SOURCE_EXPIRED",
"UNSUPPORTED_LOYALTY_REWARD_TIER",
"LOCATION_MISMATCH",
"IDEMPOTENCY_KEY_REUSED",
"UNEXPECTED_VALUE",
"SANDBOX_NOT_SUPPORTED",
"INVALID_EMAIL_ADDRESS",
"INVALID_PHONE_NUMBER",
"CHECKOUT_EXPIRED",
"BAD_CERTIFICATE",
"INVALID_SQUARE_VERSION_FORMAT",
"API_VERSION_INCOMPATIBLE",
"CARD_PRESENCE_REQUIRED",
"UNSUPPORTED_SOURCE_TYPE",
"CARD_MISMATCH",
"PLAID_ERROR",
"PLAID_ERROR_ITEM_LOGIN_REQUIRED",
"PLAID_ERROR_RATE_LIMIT",
"CARD_DECLINED",
"VERIFY_CVV_FAILURE",
"VERIFY_AVS_FAILURE",
"CARD_DECLINED_CALL_ISSUER",
"CARD_DECLINED_VERIFICATION_REQUIRED",
"BAD_EXPIRATION",
"CHIP_INSERTION_REQUIRED",
"ALLOWABLE_PIN_TRIES_EXCEEDED",
"RESERVATION_DECLINED",
"UNKNOWN_BODY_PARAMETER",
"NOT_FOUND",
"APPLE_PAYMENT_PROCESSING_CERTIFICATE_HASH_NOT_FOUND",
"METHOD_NOT_ALLOWED",
"NOT_ACCEPTABLE",
"REQUEST_TIMEOUT",
"CONFLICT",
"GONE",
"REQUEST_ENTITY_TOO_LARGE",
"UNSUPPORTED_MEDIA_TYPE",
"UNPROCESSABLE_ENTITY",
"RATE_LIMITED",
"NOT_IMPLEMENTED",
"BAD_GATEWAY",
"SERVICE_UNAVAILABLE",
"TEMPORARY_ERROR",
"GATEWAY_TIMEOUT"
],
"x-enum-elements": [
{
"name": "INTERNAL_SERVER_ERROR",
"description": "A general server error occurred.",
"error-category": "API_ERROR"
},
{
"name": "UNAUTHORIZED",
"description": "A general authorization error occurred.",
"error-category": "AUTHENTICATION_ERROR"
},
{
"name": "ACCESS_TOKEN_EXPIRED",
"description": "The provided access token has expired.",
"error-category": "AUTHENTICATION_ERROR"
},
{
"name": "ACCESS_TOKEN_REVOKED",
"description": "The provided access token has been revoked.",
"error-category": "AUTHENTICATION_ERROR"
},
{
"name": "CLIENT_DISABLED",
"description": "The provided client has been disabled.",
"error-category": "AUTHENTICATION_ERROR"
},
{
"name": "FORBIDDEN",
"description": "A general access error occurred.",
"error-category": "AUTHENTICATION_ERROR"
},
{
"name": "INSUFFICIENT_SCOPES",
"description": "The provided access token does not have permission\nto execute the requested action.",
"error-category": "AUTHENTICATION_ERROR"
},
{
"name": "APPLICATION_DISABLED",
"description": "The calling application was disabled.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "V1_APPLICATION",
"description": "The calling application was created prior to\n2016-03-30 and is not compatible with v2 Square API calls.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "V1_ACCESS_TOKEN",
"description": "The calling application is using an access token\ncreated prior to 2016-03-30 and is not compatible with v2 Square API\ncalls.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "CARD_PROCESSING_NOT_ENABLED",
"description": "The location provided in the API call is not\nenabled for credit card processing.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "MERCHANT_SUBSCRIPTION_NOT_FOUND",
"description": "A required subscription was not found for the merchant",
"error-category": "MERCHANT_SUBSCRIPTION_ERROR"
},
{
"name": "BAD_REQUEST",
"description": "A general error occurred with the request.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "MISSING_REQUIRED_PARAMETER",
"description": "The request is missing a required path, query, or\nbody parameter.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "INCORRECT_TYPE",
"description": "The value provided in the request is the wrong\ntype. For example, a string instead of an integer.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "INVALID_TIME",
"description": "Formatting for the provided time value is\nincorrect.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "INVALID_TIME_RANGE",
"description": "The time range provided in the request is invalid.\nFor example, the end time is before the start time.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "INVALID_VALUE",
"description": "The provided value is invalid. For example,\nincluding `%` in a phone number.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "INVALID_CURSOR",
"description": "The pagination cursor included in the request is\ninvalid.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "UNKNOWN_QUERY_PARAMETER",
"description": "The query parameters provided is invalid for the\nrequested endpoint.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "CONFLICTING_PARAMETERS",
"description": "One or more of the request parameters conflict with\neach other.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "EXPECTED_JSON_BODY",
"description": "The request body is not a JSON object.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "INVALID_SORT_ORDER",
"description": "The provided sort order is not a valid key.\nCurrently, sort order must be `ASC` or `DESC`.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "VALUE_REGEX_MISMATCH",
"description": "The provided value does not match an expected\nregular expression.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "VALUE_TOO_SHORT",
"description": "The provided string value is shorter than the\nminimum length allowed.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "VALUE_TOO_LONG",
"description": "The provided string value is longer than the\nmaximum length allowed.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "VALUE_TOO_LOW",
"description": "The provided value is less than the supported\nminimum.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "VALUE_TOO_HIGH",
"description": "The provided value is greater than the supported\nmaximum.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "VALUE_EMPTY",
"description": "The provided value has a default (empty) value\nsuch as a blank string.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "ARRAY_LENGTH_TOO_LONG",
"description": "The provided array has too many elements.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "ARRAY_LENGTH_TOO_SHORT",
"description": "The provided array has too few elements.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "ARRAY_EMPTY",
"description": "The provided array is empty.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "EXPECTED_BOOLEAN",
"description": "The endpoint expected the provided value to be a\nboolean.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "EXPECTED_INTEGER",
"description": "The endpoint expected the provided value to be an\ninteger.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "EXPECTED_FLOAT",
"description": "The endpoint expected the provided value to be a\nfloat.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "EXPECTED_STRING",
"description": "The endpoint expected the provided value to be a\nstring.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "EXPECTED_OBJECT",
"description": "The endpoint expected the provided value to be a\nJSON object.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "EXPECTED_ARRAY",
"description": "The endpoint expected the provided value to be an\narray or list.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "EXPECTED_MAP",
"description": "The endpoint expected the provided value to be a\nmap or associative array.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "EXPECTED_BASE64_ENCODED_BYTE_ARRAY",
"description": "The endpoint expected the provided value to be an\narray encoded in base64.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "INVALID_ARRAY_VALUE",
"description": "One or more objects in the array does not match the\narray type.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "INVALID_ENUM_VALUE",
"description": "The provided static string is not valid for the\nfield.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "INVALID_CONTENT_TYPE",
"description": "Invalid content type header.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "INVALID_FORM_VALUE",
"description": "Only relevant for applications created prior to\n2016-03-30. Indicates there was an error while parsing form values.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "CUSTOMER_NOT_FOUND",
"description": "The provided customer id can't be found in the merchant's customers list.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "ONE_INSTRUMENT_EXPECTED",
"description": "A general error occurred.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "NO_FIELDS_SET",
"description": "A general error occurred.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "TOO_MANY_MAP_ENTRIES",
"description": "Too many entries in the map field.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "MAP_KEY_LENGTH_TOO_SHORT",
"description": "The length of one of the provided keys in the map is too short.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "MAP_KEY_LENGTH_TOO_LONG",
"description": "The length of one of the provided keys in the map is too long.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "CUSTOMER_MISSING_NAME",
"description": "The provided customer does not have a recorded name.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "CUSTOMER_MISSING_EMAIL",
"description": "The provided customer does not have a recorded email.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "INVALID_PAUSE_LENGTH",
"description": "The subscription cannot be paused longer than the duration of the current phase.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "INVALID_DATE",
"description": "The subscription cannot be paused/resumed on the given date.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "UNSUPPORTED_COUNTRY",
"description": "The API request references an unsupported country.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "UNSUPPORTED_CURRENCY",
"description": "The API request references an unsupported currency.",
"error-category": "INVALID_REQUEST_ERROR"
},
{
"name": "APPLE_TTP_PIN_TOKEN",
"description": "The payment was declined by the card issuer during an Apple Tap to Pay (TTP)\ntransaction with a request for the card's PIN. This code will be returned alongside\n`CARD_DECLINED_VERIFICATION_REQUIRED` as a supplemental error, and will include an\nissuer-provided token in the `details` field that is needed to initiate the PIN\ncollection flow on the iOS device.",
"error-category": "PAYMENT_METHOD_ERROR"
},
{
"name": "CARD_EXPIRED",
"description": "The card issuer declined the request because the card is expired.",
"error-category": "PAYMENT_METHOD_ERROR"
},
{
"name": "INVALID_EXPIRATION",
"description": "The expiration date for the payment card is invalid. For example,\nit indicates a date in the past.",
"error-category": "PAYMENT_METHOD_ERROR"
},
{
"name": "INVALID_EXPIRATION_YEAR",
"description": "The expiration year for the payment card is invalid. For example,\nit indicates a year in the past or contains invalid characters.",
"error-category": "INVALID
# --- truncated at 32 KB (51 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/square/refs/heads/main/json-schema/square-list-devices-response-schema.json
Work with this as data
Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for schemas
4 MCP tools reach this
find_json_schemasBrowse and filter every JSON Schema in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/square-list-devices-response"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.