Resources

The API gives you access to many objects that Copper models. This page describes in detail all the various objects you may encounter when using the API.

Accounts

Accounts describe the owner of particular kinds of data stored by Copper. An account could represent a reseller, a developer, a merchant or an administrator.

Property Type Description
id string Unique identifier for the account.
address object The full address of the account. This is itself an object with nested property names, which are described below.
address.city string City, district, suburb, town, or village.
address.country string Two-letter country code (ISO 3166-1 alpha-2).
address.line1 string Address line 1 (e.g., street, PO Box, or company name).
address.line2 string Address line 2 (e.g., apartment, suite, unit, or building).
address.postal_code string ZIP or postal code.
address.state string State, county, province, or region.
name string The name of the account.
type string The Copper account type. Can be admin, reseller, developer or merchant.
email string The primary user's email address.
phone string The account's phone number.
website string The account's website.
metadata object Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
object string Describes the type of object. Value is always account.

Users

Users describe individual sub-accounts, associated to a parent Account, providing access to Copper Console.

Property Type Description
id string Unique identifier for the user.
account string id of the parent Account to this user.
email string The user's email address.
name string The user's name.
status string The user's status. Can be one of: UNCONFIRMED, CONFIRMED, ARCHIVED, COMPROMISED, UNKNOWN, RESET_REQUIRED or FORCE_CHANGE_PASSWORD.
uuid string A unique identifier associated with the account.
object string Describes the type of object. Value is always user.

Locations

Locations describe physical merchant locations that create tickets and process transactions.

Property Type Description
id string Unique identifier for the location.
address object The full address of the location. This is itself an object with nested property names, which are described below.
address.city string City, district, suburb, town, or village.
address.country string Two-letter country code (ISO 3166-1 alpha-2).
address.line1 string Address line 1 (e.g., street, PO Box, or company name).
address.line2 string Address line 2 (e.g., apartment, suite, unit, or building).
address.postal_code string ZIP or postal code.
address.state string State, county, province, or region.
display_name string The display name of the location.
phone string The location's phone number.
website string The location's website.
metadata object Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
object string Describes the type of object. Value is always location.

Devices

Devices describe a Copper Cord or Copper Companion hardware device. They are typically associated with a particular Location.

Property Type Description
id string Unique identifier for the device.
device_type string Type of device. Can be one of: copper_Cord, poynt_P5, poynt_P6, pax_A60, pax_A77, pax_A920 or clover_Flex.
label string Custom label given to the device for easier identification.
last_seen string Time at which the device was last seen, in ISO 8601 format.
location string The location identifier associated with this device.
status string The networking status of the device. Can be one of: offline or online.
device_sw_version string The current software version of the device.
ip_address string The local IP address of the device.
metadata object Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
object string Describes the type of object. Value is always device.

Tickets

Tickets describe an order, like a restaurant table order. They are typically associated with a particular Location.

Property Type Description
id string Unique identifier for the ticket.
created string ISO 8601 string representing when this ticket was created.
currency string Three-letter ISO currency code, in lower case. Must be a supported currency (TODO: what is a supported currency?).
location string The location identifier associated with this ticket.
guests integer The number of guests.
discounts array To be determined - for future use.
dob string Date of business in YYYY-MM-DD format.
items array List of items associated with the ticket.
name string Table or tab name for this ticket.
payments array List of payments associated with the ticket.
reference string A merchant-specific reference (e.g. a check number).
server string The name of the server that created the ticket.
subtotal integer Amount owed for this ticket before surcharges. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100 (a zero-decimal currency)).
surcharges array List of surcharges associated with the ticket.
time string Time when ticket was printed in HH:MM (24h) format.
total integer Total amount owed for this ticket. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00 or 100 to charge ¥100 (a zero-decimal currency)).
metadata object Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
object string Describes the type of object. Value is always ticket.

Transactions

Transactions describe a Copper-processed payment. They are typically associated with a particular Ticket.

Property Type Description
id string Unique identifier for the transaction.
amount integer Amount collected by this transaction. A positive integer representing how much to charge in the smallest currency unit (e.g., 100 cents to charge $1.00).
approval_code integer The authorization approval code for this transaction, as received from the payment processor.
captured boolean If the charge was created without capturing, this Boolean represents whether it is still uncaptured or has since been captured.
created string ISO 8601 string representing when this transaction was created.
customer object Object containing information about the customer if available. Possible sub-properties that may be found here include email and phone.
declined boolean If the transaction failed, this Boolean represents whether it was due to the card being declined.
failure_code string Error code explaining reason for charge failure if available.
location string The location identifier associated with this transaction.
payment_method object Object describing the payment method and available data about the method, with sub-properties:
payment_method[type] string One of paypal, emv, card, apple_pay, google_pay, external or vip.
payment_method[card] object A loosely structured object describing the limited information available of the card used to pay this transaction, as provided by the payment gateway. It may contain the following fields - but not all of these fields are guaranteed to be present:
payment_method[card][brand] string What brand was used as part of this payment card transaction. Can be one of visa, mastercard, amex, discover, jcb, unionpay or paypal.
payment_method[card][last4] string The last four digits of the payment card used in the transaction.
payment_method[card][expiry] string The expiry date of the payment card used in the transaction.
receipt_url string The URL to view the receipt for this transaction.
refunds array A list of refunds that have been applied to this transaction.
refunded boolean Whether the charge has been fully refunded. If the charge is only partially refunded, this attribute will still be false.
refunded_amount integer Amount in the smallest currency unit refunded (can be less than the amount attribute on the charge if a partial refund was issued).
status string The status of the transactions is either succeeded, pending, or failed.
ticket string The ticket identifier associated with this transaction.
tip_amount integer The amount tipped on this transaction.
metadata object Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
object string Describes the type of object. Value is always transaction.

Refunds

Refunds describe a refunded Copper transaction. They must be associated with a particular Transaction.

Property Type Description
id string Unique identifier for the refund.
amount integer Amount to refund in this refund. A positive integer representing how much to refund in the smallest currency unit (e.g., 100 cents to charge $1.00).
created string ISO 8601 string representing when this transaction was created.
currency string Three-letter ISO currency code, in lowercase. Must be a supported currency. (TODO: what is a supported currency?)
transaction string The transaction identifier associated with this refund.
reason string Reason for the refund, either user-provided of generated by Copper internally.
status string The status of the refund is either succeeded or failed.
metadata object Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.