API Overview
The version 2 Cardly API is organised around REST, with predictable resource-oriented URLs. It accepts JSON-encoded request bodies, returns JSON-encoded responses and uses standard HTTP response codes and verbs to make understanding and integrating the API as quick and painless as possible.
When you're set up on the Cardly API, you'll be provided with two API keys - one for test mode, the other for live calls. Your test mode key will allow you to make all the calls available in the API, however won't mutate any data. So, you can test your integration and make sure everything works, get back (generally!) the same response as you would for a live call, then switch out your keys when you're ready to move to live ordering.
Currently the API accepts only JSON-encoded bodies for POST requests. As such, please ensure you provide the appropriate Content-type: text/json
header when forming your requests. Other content types will likely fail as the request body will not be interpreted correctly.
As we release new products and features, the Cardly API will evolve to include access to these where possible. This documentation will also evolve to cover these new features as they're released.
While we do our best to avoid it, in the event we release a breaking change, we'll let you know well in advance so you have time to plan, test and release any updates necessary to accommodate the change.
Quick Start
We've tried to design the Cardly API to make integration as quick and painless as possible for the most common ways we see businesses integrate with us. Most basic integrations with the Cardly API can be achieved with a single call, Place Order.
There's a few things you should prepare before you get started:
- Create a business account and confirm your email address. This will give you access to a personalised business portal.
- Once logged in to your business portal, navigate to
Settings > API Keys
and generate a new API key. For now, note the development mode API key. - If you're bringing your own artwork, ensure it's added under
Assets > Manage Artwork
. - If you're creating automated sends with common wording across each card, with personalisation details such as first name added to your messaging, ensure you've created the necessary templates under
Assets > Templates
Once you have your business account, API key, artwork and templates ready to go, you'll be able to authenticate with the API using your development key. Please review the Authentication section for more details, however using your API key is as simple as adding a API-Key: (Your API Key)
header to all of your calls to the API. You can test your authentication out on the Echo endpoint and verify you have this good to go.
For simple direct card sends using data from your CRM or other source you'll then use the Place Order endpoint, feeding in your desired artwork ID, template ID and recipient details.
For more complex integrations, please refer to the documentation below. Our team is always happy to discuss and guide you through the integration process, so please contact us for assistance if needed.
OpenAPI Standard
In order to speed up your development, this documentation is available in OpenAPI format. A number of IDEs will allow you to import these documents in order to quickly mock up request formats and provide in-context help for various properties and data structures used throughout the API.
We've only recently provided this publicly, so we'd love to hear your feedback on how useful these documents are and if you'd like to see any further features added to them to support your work.
Authentication
The Cardly API uses API keys to authenticate requests. Your API keys can be obtained and managed from your organisation portal.
Each set of API keys provides both test and live mode keys. Test mode keys are prefixed with test_
and can perform all the functions that live keys can, however they will not perform any mutations. That is, if a test mode key calls the Place Order endpoint, the request will be validated and provide a mostly-identical response as though you'd used a live key, however no actual order will be placed. Test mode responses will always contain a testMode: true
element as part of the main return body.
Live mode keys are prefixed with live_
and have none of the restrictions of test mode keys.
Authentication to the API is performed via the API-Key
header, as per the provided example.
API keys permit many functions to be performed against your organisation, including billable requests. You must keep your keys secure and if you believe them to be compromised, invalidate and re-issue your keys via your organisation portal.
All API requests must be performed over HTTPS. Calls made over plain HTTP will be rejected, as will requests without authentication.
Return Structure
All returns from the Cardly API will present as a JSON-encoded body with the same overall structure: an element to denote the overall call success, along with any relevant messages, a data element to pass back data relevant to the call performed, and optionally a flag to indicate the request was performed in test mode.
Additionally, HTTP status codes can also help inform your request's success. Typically, you can rely on 200 - OK
and 201 - Created
response codes to indicate success.
It is highly recommended that you check for the presence of testMode: true
in responses to ensure you are not accidentally processing live requests with a testing key.
Response Status Object
Provides a standard status identifier to indicate overall success, along with messages and the current API build version.
Properties
Whether or not the request succeeeded without errors or warnings.
One of:OK
, WARN
, ERROR
Any notifications, warnings or error messages relevant to the response.
The current build version of Cardly
Validation Status Object
One or more elements denoting validations failures with the named field(s), and the reason for failure.
Properties
A reason the identified key's value has failed validation.
Errors & Responses
The API uses standard HTTP response codes to indicate the success or failure of your API requests. Generally, codes in the 2xx
range indicate success. Codes in the 4xx
range indicate issues due to the data provided - authentication failures, required fields missing, insufficient funds etc. Codes in the 5xx
range indicate an error on Cardly's end - these should be rare!
Where possible, we'll provide you with information on why your call failed to help you quickly diagnose and remedy the issue.
Idempotent Requests
The Cardly API supports idempotent requests, allowing you to safely retry requests without accentially performing the same operation twice. This is extremely useful when your API call is distrupted and you do not receive a response, or fail to complete processing of this response on your applications end (due to loss of connectivity etc).
For example, if a request to the Place Order endpoint does not result in a response, or the response times out, you can retry the exact same request again and receive the response you would have otherwise missed. This helps guarantee the original request you wanted to make is processed once, and once only.
To perform a request utilising Idempotency, supply an additional Idempotency-Key: <key>
header in your request.
The API's idempotency works by saving the resulting status code and body of the original request for any given idempotency key, regardless of success. Subsequent requests with the same key return the same result, without hitting the processing layer.
Your idempotency keys are unique values generated by your client which the API uses to identify subsequent retries of the same request. Generation and format of idempotency keys is up to you, however Cardly recommends v4 UUIDs or another random string of sufficent length to guarantee uniqueness. Your idempotency keys may be up to 64 characters in length.
In addition, to ensure you do not accidentally reuse or change your original request when utilising idempotency keys, we analyse the incoming request to ensure it is consistent with any previously logged request. In the event an idempotency result is found with a different request signature, you'll receive an error indicating the request was changed, but an idempotency key was being reused.
Idempotent results will only be saved if the request started started processing - if the request failed due to invalid credentials, missing parameters etc, the idempotency key will not be consumed by the request. You can therefore safely re-use idempotency keys until a successful operation is processed.
Please note that only POST
requests accept idempotency keys. All other HTTP verbs currently in use by the Cardly API will ignore idempotency keys, as these requests are idempotent by definition.
Request IDs
Every API request performed will return an associated request identifier in the response headers. You can find this in your response under the Request-Id
header. You will also be able to find request identifiers within your organisation portal API logs.
If you need to contact us for support, particularly with regard to a specific request, providing the relevant Request-Id
will help us to resolve your query as quickly as possible.
Pagination
Most top-level endpoints in the API provide support for bulk fetches for list-style data. The request and response formats for these calls share a common structure to simplify understanding these calls. They all at minimum accept the following parameters: limit
and offset
.
To navigate lists of paginated data, simply increase the offset
parameter by the limit
value you are utilising (or the default of 25
if you aren't specifying a limit). Ensure that you don't navigate past the end of a resource list by checking to ensure your offset is below the meta.totalRecords
value in the previous response.
Pagination Metadata Object
Provides a standard description of a listing result set and the records that were retrieved.
Properties
The current field that results are ordered by.
The direction results are ordered by, ascending or descending.
One of:asc
, desc
The 1-based number of the first record in this result set, relative to the whole result set.
The 1-based number of the last record in this result set, relative to the whole result set.
The maximum number of results per page.
The calculated page number for these results, based on supplied offset and limit values.
The current number of records to offset the start of the result set by.
The total number of results in the entire set based on your query parameters.
Development Helpers
Echo provides a simple, low impact means of testing API features. We'll simply take your request, headers and body parameters and return these back to you in a standard structure.
This way you can quickly test your authentication, idempotency behaviour and get a feel for the API features before diving in to real requests.
ANY Echo Request
The echo
endpoint will take any parameters, body structure and headers and return them to you in a JSON structure. You can use this endpoint to quickly debug other requests, validate your authentication, idempotency and other API features without any impact on your account or any risk of credit usage.
This endpoint is special in that it will accept any HTTP verb and still provide an output to the caller.
Please note: you must still authenticate to this endpoint and you'll receive appropriate error responses if your API key is invalid or not supplied.
Request Parameters
An example parameter which will be returned to you.
Request Body
A body parameter which will be returned to you
A body parameter which will be returned to you
200 Response Body
A description of all data passed in the request.
The HTTP verb that was used for this call.
The full endpoint URL tht was called, including query string.
All client-supplied headers in the request, keyed by header.
All client-supplied query parameters supplied in the call, keyed by parameter name.
The request body for the call, if applicable.
Account
Account functions aid with checking your organistaion's current balance, reviewing previous transactions, adding more credit and performing updates to organisation details.
Credit History Object
The credit history object models an entry - positive or negative - for the organisation's credit purchase and spends.
Properties
Unique identifier for this credit history entry.
Identifier for an order that triggered this credit history entry. Generally used whenever paid transactions take place.
Identifier for a transaction that triggered this credit history entry, typically related to the purchase of credits.
A human-readable, brief description of what this entry is for, ie; Credit Purchase
, Order Placement
.
A short code to denote the type of change this was.
One of:A
, C
, D
, E
, P
, R
, S
Value that was either credited or debited from the organisation in this action.
The current account credit balance at the time this change was effected.
Timestamp of when this credit history entry occurred.
An extended description of what effected this balance change.
Gift Credit History Object
The gift credit history object models an entry - positive or negative - for the organisation's gift credit purchase and spends.
Properties
Unique identifier for this gift credit history entry.
Identifier for an order that triggered this gift credit history entry. Generally used whenever paid transactions take place.
Identifier for a transaction that triggered this gift credit history entry, typically related to the purchase of credit.
A human-readable, brief description of what this entry is for, ie; Credit Purchase
, Order Placement
.
A short code to denote the type of change this was.
One of:A
, C
, D
, E
, P
, R
, S
Value that was either credited or debited from the organisation in this action.
Value that was either credited or debited from the organisation in this action, exclusive of tax.
Tax component for this transaction, were relevant.
Note: currently, no region involves taxed gift card payments.
The current account gift credit balance at the time this change was effected.
Timestamp of when this gift credit history entry occurred.
An extended description of what effected this balance change.
GET Retrieve Account Balance
This endpoint allows you to quickly query the current balance for your organisation.
Where relevant, API calls which consume or have the potential to consume balance will return your organisation's balance in the return structure for convenience. This will allow you to easily determine if additional balance should be added to your account if not utilising the automatic account topup feature.
200 Response Body
Your account's current credit and gift credit balances.
Your organisation's current card credit balance. Note that this may not be a whole number.
Your organisation's current gift credit balance. Note that this may not be a whole number.
The currency your organisation's gift balance is held in.
GET List Credit History
Retrieve a section of balance history records pertaning to your organistaion. This will list both credits and debits, along with links / reasons for each, where applicable.
This request accepts standard pagination options limit, offset
along with the following additional filters:
Request Parameters
YYYY-MM-DD HH:ii:ss
formatted string to retrieve only results before this time.
YYYY-MM-DD HH:ii:ss
formatted string to retrieve only results before or equal to this time.
YYYY-MM-DD HH:ii:ss
formatted string to retrieve only results after this time.
YYYY-MM-DD HH:ii:ss
formatted string to retrieve only results after or equal to this time.
200 Response Body
A paginated array of zero or more CreditHistory
objects.
A paginated array of zero or more CreditHistory
objects.
GET List Gift Credit History
Retrieve a section of gift credit history records pertaning to your organistaion. This will list both credits and debits, along with links / reasons for each, where applicable.
This request accepts standard pagination options limit, offset
along with the following additional filters:
Request Parameters
YYYY-MM-DD HH:ii:ss
formatted string to retrieve only results before this time.
YYYY-MM-DD HH:ii:ss
formatted string to retrieve only results before or equal to this time.
YYYY-MM-DD HH:ii:ss
formatted string to retrieve only results after this time.
YYYY-MM-DD HH:ii:ss
formatted string to retrieve only results after or equal to this time.
200 Response Body
A paginated array of zero or more GiftCreditHistory
objects.
A paginated array of zero or more GiftCreditHistory
objects.
Artwork
Artwork functions allow you to retrieve, add and update your organisation's current available artwork. The identifiers used in artwork models are required in other calls such as PlaceOrder
and these endpoints can facilitate finding or creating these programatically if required.
Artwork Object
The artwork object represents a product at a given media size and provides preview images for each page capable of hosting artwork imagery.
Properties
Unique identifier for this piece of artwork. To be passed through to Place Order
and similar calls requiring artwork IDs.
The revision number of this piece of artwork. Revision increases when artwork descriptors or image assets change.
The title of this piece of artwork.
A search-engine-friendly identifier for this artwork. Can be added to your organisation domain to provide a path to the artwork's page, ie /test-organisation/artwork-slug
.
The full SEO path to this artwork, which can be used as an alternate identifier when placing orders, generating previews etc.
A longer description of the artwork.
A list of URLs for preview images of each page in the artwork document, without customisations. Any pages without artwork will return null
.
The media size associated with this piece of artwork.
YYYY-MM-DDTHH:ii:ss+00:00
formatted string to denote when this piece of artwork was created.
YYYY-MM-DDTHH:ii:ss+00:00
formatted string to denote when this piece of artwork was last updated.
GET List Artwork
Retrieve the currently available artwork for your organisation.
This request accepts standard pagination options limit, offset
along with the following additional filters:
Request Parameters
If set to a truthy value, results will contain only artwork that belongs to your organisation and no shared or freely available artwork. Defaults to false, showing all artwork.
200 Response Body
A paginated array of zero or more Artwork
objects.
A paginated array of zero or more Artwork
objects.
POST Create Artwork
Add a new piece of artwork.
Request Body
UUID for the media this artwork will use.
A short description for this artwork.
A longer human-readable description of the artwork.
A list of pages and associated images to attach to this artwork.
1-based identifier for the page this artwork file relates to. 1 identifies the front page, each subsequent page is identified in reading order.
Base64 encoded string containing the content of the image file.
200 Response Body
An Artwork
representing the artwork that was just created. Use the ID property from this to feed into order/preview requests as needed.
GET Retrieve Artwork
Retrieve information on a specific piece of artwork.
Request Parameters
The unique ID of the artwork you wish to retrieve.
200 Response Body
An Artwork
representing the requested piece of artwork.
POST Edit Artwork
Update a piece of artwork with new descriptors or images. All parameters are optional, and only supplied parameters will be updated.
Request Parameters
The unique ID of the artwork you wish to update.
Request Body
A short description for this artwork.
A longer human-readable description of the artwork.
A list of pages and associated images to attach to this artwork.
1-based identifier for the page this artwork file relates to. 1 identifies the front page, each subsequent page is identified in reading order.
Base64 encoded string containing the content of the image file.
200 Response Body
An Artwork
representing the updated piece of artwork.
DELETE Delete Artwork
Delete a piece of artwork owned by your organisation.
Request Parameters
The unique ID of the artwork you wish to delete.
200 Response Body
An Artwork
representing the artwork that was deleted.
Doodles
The doodles
endpoints provide data about the doodles available to you within Cardly. This data can be used to build doodle sample interfaces for external integrations which build and send cards via Cardly for consumer or promotion-based activities.
Doodle Object
The doodle object represents a vector-based image which can be included within card artwork.
Properties
Unique identifier for this doodle.
The human-readable name for this doodle.
A human-readable identifier for this doodle.
An optional description of this doodle.
A URL to a preview image of this doodle.
Dimensions of this product in millimeters, exclusive of bleed.
Natural height of this doodle, in pixels.
Natural width of this doodle, in pixels.
Whether or not this doodle is exclusive to your organisation, or freely available across the Cardly platform.
GET List Doodles
Retrieve your currently available doodles.
This request accepts standard pagination options limit, offset
along with the following additional filters:
Request Parameters
If truthy, only return doodles that are exclusive to your organisation.
200 Response Body
A paginated array of zero or more Doodle
objects.
A paginated array of zero or more Doodle
objects.
Fonts
The font
endpoints provide data about the fonts available to you within Cardly. This data can be used to build font sample interfaces for external integrations which build and send cards via Cardly for consumer or promotion-based activities.
Font Object
The font object models a style of writing available within Cardly, either from our shared library or your exclusive handwriting conversions.
Properties
Unique identifier for this font option.
A localised, human-readable name for this font.
The category of writing this font falls into, one of cursive
, hand
, serif
, sans
or mono
.
One of:cursive
, hand
, serif
, sans
, mono
The number of font variants this family contains for each character.
Whether or not this font is marked for being eligible for humanisation techniques. Typically, screen or machine-readable fonts have this flagged off.
Whether or not this font is exclusive to your organisation, or freely available across the Cardly platform.
GET List Fonts
Retrieve your currently available fonts.
This request accepts standard pagination options limit, offset
along with the following additional filters:
Request Parameters
If truthy, only return fonts that are exclusive to your organisation.
200 Response Body
A paginated array of zero or more Font
objects.
A paginated array of zero or more Font
objects.
Media
The media
endpoints provide data about the types and dimensions of available products within Cardly. This information can be used to validate specifications on new artwork, or see which products are currently on offer in various regions.
Please note: Some media sizes are not all available in all regions Cardly covers. Where you attempt to order media from an unsupported region, the relevant endpoint will return an error.
Media Object
The media object models a product available on Cardly and denotes the regions it is available for purchase in. It also provides information on the dimensions of the product, both physical and pixel dimensions for artwork supply.
Properties
Unique identifier for this piece of artwork. To be passed through to Place Order
and similar calls requiring artwork IDs.
A localised, human-readable name for this product.
A longer description of the product, along with any restrictions or important information.
The number of credits that would be consumed when ordering this media type.
The total number of pages to this product. A standard greeting card is four pages (front, inner left, inner right, back), while a postcard-style product is two pages (front & back).
Dimensions of this product in millimeters, exclusive of bleed.
Height of this product, in millimeters, exclusive of bleed.
Width of this product, in millimeters, exclusive of bleed.
DimensionsBleed zone of this product in millimeters, added to the dimensions
measurements for the overall page size.
Using the provided example, this would be a 115x158mm product for the purposes of artwork dimensions.
Left and right bleed zone measurements, in millimeters.
Top and bottom bleed zone measurements, in millimeters.
Height of the artwork inner area for this product, in pixels, exclusive of bleed zones.
Width of the artwork inner area for this product, in pixels, exclusive of bleed zones.
Height of the artwork required for this product, in pixels, inclusive of bleed zones.
Width of the artwork required for this product, in pixels, inclusive of bleed zones.
GET List Media
Retrieve the currently available media sizes for product artwork.
This request accepts standard pagination options limit, offset
along with the following additional filters:
Request Parameters
If truthy, only return media items that are exclusive to your organisation.
200 Response Body
A paginated array of zero or more Media
objects.
A paginated array of zero or more Media
objects.
Templates
The template
endpoints allow you to retrieve and manipulate templates available to your organisation.
Template Object
The template object denotes styling and structure to be applied to a given media size card.
Properties
Unique identifier for this template option.
The human-readable description for this template.
A human-readable identifier for this template unique within your organisation.
Whether or not there are any active variables within your template design. true
if no variables are active.
The media object that represents the media size associated with this template.
If this template contains a gift card, describes the type of card selected and the value of the card.
The unique ID of the gift card that has been included.
The country code this gift card applies to.
The currency this card is provided in.
The amount of funds provided on this gift card.
Whether or not the recipient can swap this card for another.
An object describing this template's layout.
The version of the Cardly editor this template was created by.
The default styles to filter through to pages in this template, if no styles are defined at the page level.
A list of page objects to define page-level objects (doodles, text areas, gift cards etc) and text data, along with individual page style overrides if applicable.
A list of variables associated with this template, where the property name is the variable key and additional description / example data is provided for each variable.
YYYY-MM-DDTHH:ii:ss+00:00
formatted string to denote when this template was created.
YYYY-MM-DDTHH:ii:ss+00:00
formatted string to denote when this template was last updated.
GET List Templates
Retrieve your currently available templates.
200 Response Body
A paginated array of zero or more Template
objects.
A paginated array of zero or more Template
objects.
Writing Styles
The writing-styles
endpoints provide data about the doodles available to you within Cardly. This data can be used to build writing sample interfaces for external integrations which build and send cards via Cardly for consumer or promotion-based activities.
Writing Style Object
The writing object denotes a messiness level applied to our algorithmic handwriting generation.
Properties
Unique identifier for this writing style option.
A human-readable name for this writing style.
A description of this writing style.
Unique identifier for this template option.
GET List Writing Styles
Retrieve your currently available writing styles.
200 Response Body
A paginated array of zero or more WritingStyle
objects.
A paginated array of zero or more WritingStyle
objects.
Contact Lists
The contact-lists
endpoints provide the ability to create, manipulate and interrogate lists of users, employees and other contacts. These groupings allow you to then set up automation rules based on fields within your lists (such as a birthday or anniversary date) to automatically send a specified card and message to a user at an appropriate point in future - potentially yearly, if desired.
While contact lists and associated fields can be created and managed by these endpoints, currently automation rules will need to be managed via your Cardly portal. We'll open the ability to do this programatically in future, however given the complex nature of these rules our UI is the best way of managing these for the moment.
Contact List Object
The contact list object provides detail on a given list on your account, along with currently set up custom fields and automation details.
Properties
Unique identifier for this contact list.
The human-readable name for this list.
An extended description on what this list is for or related notes, if required.
The current status of this contact list.
The number of unique contacts currently in this list.
The number of automation rules (active or disabled) currently applied to this list.
List of ContactListField
items that define additional information to store for each contact in the list.
List of ContactListRule
items that define rules to automatically send cards at specified intervals or based on triggers set up in the Cardly platform.
High-level stats around the number of contacts pending / completed validation or requiring manual intervention.
The total number of contacts pending address validation.
The total number of contacts requiring manual review of their address data.
The total number of contacts that have completed address validation.
GET List Contact Lists
Retrieve active contact lists for your organisation.
200 Response Body
A paginated array of zero or more ContactList
objects.
A paginated array of zero or more ContactList
objects.
POST Create Contact List
Add a new contact list, optionally with custom fields.
Request Body
A short description for this contact list to allow it to be identified.
A free-text description of this list to store whatever additional information might be necesssary.
Additional custom fields to add or remove from this list, if required. If existing fields are specifed, these fields will be updated or removed as required, otherwise fields will remain unchanged.
A short name for this field, which will be used to create a unique field identifier if this field doesn't already exist.
A longer description of this field, if required.
The type of data this field models, one of text
, date
, number
or url
.
One of:text
, date
, number
, url
200 Response Body
A ContactList
representing the list that was just created. Use the ID property from this to feed into further requests as needed.
GET Retrieve Contact List
Retrieve information on a specific contact list.
Request Parameters
The unique ID of the contact list you wish to retrieve.
200 Response Body
A ContactList
representing the requested contact list.
POST Create Contact List
Add a new contact list, optionally with custom fields.
Request Parameters
The unique ID of the contact list you wish to update.
Request Body
A short description for this contact list to allow it to be identified.
A free-text description of this list to store whatever additional information might be necesssary.
Additional custom fields to add or remove from this list, if required. If existing fields are specifed, these fields will be updated or removed as required, otherwise fields will remain unchanged.
The identifier of an existing field to update or remove.
A short name for this field, which will be used to create a unique field identifier if this field doesn't already exist.
Required if adding a new field.
A longer description of this field, if required.
The type of data this field models, one of text, date, number or url.
Required if adding a new field. Ignored if updating an existing field.
One of:text
, date
, number
, url
If set to true, removes this field from the list.
200 Response Body
A ContactList
representing the list that was updated.
DELETE Delete Contact List
Delete a contact list, disabling any automations linked to it.
Request Parameters
The unique ID of the contact list you wish to delete.
200 Response Body
A ContactList
representing the contact list that was deleted.
Contacts
The contact
endpoints provide the ability to create, manipulate and interrogate records of users, employees and other contacts.
Contact Object
The contact object provides detail on a given record within a contact list. This contains their addressing information, unique identifiers (email, external ID where supplied) and any additional custom field data you may have supplied for the list.
Properties
Unique identifier for this contact.
Any external identifier you have supplied for this contact which can be used to update this contact in future calls.
Identifier for the contact list this contact belongs to.
Current state of this contact.
The first name of a contact.
The last name of a contact, if supplied.
The contact's full name, a combination of firstName & lastName.
An email address for this contact, if supplied, which can be used to uniquely identify this contact for subsequent actions.
The company a contact belongs to, if supplied.
The primary address line.
A secondary address line, typically containing a unit, apartment, suite number etc.
A suburb or city for the contact.
The state or province for this contact.
A 2-character ISO code identifying the contact's country.
A postal code or ZIP code for this contact, where required by local addressing formats.
Geo coordinates for this address, if it has been resolved with address lookups.
Geo coordinates for this address, if it has been resolved with address lookups.
If a full, raw address was supplied for this contact, the original address as supplied by spreadsheet upload or application.
If this contact was subject to address validation, whether this record requires manual intervention to resolve.
Additional custom fields based on field codes for extended data on this contact record.
GET List Contacts
Retrieve active contacts in a given list.
Request Parameters
The unique ID of the contact list you wish to retrieve contacts for.
200 Response Body
A paginated array of zero or more Contact
records.
A paginated array of zero or more Contact
objects.
POST Create Contact
Add a new contact to a given list.
Please note: contacts added via API calls will be checked for uniqueness based on your externalId and email fields, if supplied. If a contact already exists for one of these fields the addition operation will be rejected.
Request Parameters
The unique ID of the contact list you wish to add this contact to.
Request Body
Any external identifier you have supplied for this contact which can be used to update this contact in future calls.
The first name of a contact.
The last name of a contact, if known / applicable.
An email address for this contact, if supplied, which can be used to uniquely identify this contact for subsequent actions.
The company a contact belongs to, if required.
The primary address line, including street number, name and type.
A secondary address line, typically containing a unit, apartment, suite number etc.
A suburb or city for the contact.
The state or province for this address.
Conditionally required based on the country supplied.
A 2-character ISO code identifying the contact's country.
A postal code or ZIP code for this contact, where required by local addressing formats.
Conditionally required based on the country supplied.
Additional custom fields based on field codes for extended data on this contact record.
For each custom field in your list, fields may be specified based on the unique field ID created by Cardly.
Fields will be subject to data type checking where appropriate:
URL Fields require full, complete URLs supplied, if used. Number Fields require any numeric string, free of any human readable formatting (ie, commas for thousands separators).
200 Response Body
A Contact
representing the contact that was created.
DELETE Delete Contact
Delete a contact, disabling any automations linked to it.
Contact matching is performed in order of matching external ID or email address. At least one of these details must be provided.
Request Parameters
The unique ID of the contact list you wish to search contacts for to delete.
Request Body
An email address to identify the contact to delete, if no external ID is supplied.
Any external identifier to identify the contact to delete, if no email address is supplied.
200 Response Body
A Contact
representing the contact that was deleted.
GET Retrieve Contact
Retrieve information on a specific contact from a given list, identified by Cardly's unique identifier for the record.
Request Parameters
The unique ID of the contact list this contact belongs to.
The unique ID of the contact you wish to retrieve.
POST Edit Contact
Edit an existing contact, providing updated information for the contact record.
Request Parameters
The unique ID of the contact list the contact you're updating belongs to.
The unique ID of the contact you wish to update.
Request Body
Any external identifier you have supplied for this contact which can be used to update this contact in future calls.
The first name of a contact.
The last name of a contact, if known / applicable.
An email address for this contact, if supplied, which can be used to uniquely identify this contact for subsequent actions.
The company a contact belongs to, if required.
The primary address line, including street number, name and type.
A secondary address line, typically containing a unit, apartment, suite number etc.
A suburb or city for the contact.
The state or province for this address.
Conditionally required based on the country supplied.
A 2-character ISO code identifying the contact's country.
A postal code or ZIP code for this contact, where required by local addressing formats.
Conditionally required based on the country supplied.
Additional custom fields based on field codes for extended data on this contact record.
For each custom field in your list, fields may be specified based on the unique field ID created by Cardly.
Fields will be subject to data type checking where appropriate:
URL Fields require full, complete URLs supplied, if used. Number Fields require any numeric string, free of any human readable formatting (ie, commas for thousands separators).
200 Response Body
A Contact
representing the contact that was updated.
DELETE Delete Contact
Delete a contact, disabling any automations linked to it.
Request Parameters
The unique ID of the contact list the contact you're deleting belongs to.
The unique ID of the contact you wish to delete.
200 Response Body
A Contact
representing the contact that was deleted.
GET Search Contacts
Retrieve information on a specific contact from a given list, searching for the contact by an email address or previously supplied external identifier.
Request Parameters
The unique ID of the contact list to search within.
An email address or external identifier to locate a contact by within the given list.
POST Sync Contact
Sync a contact based on an external ID or email address. If a matching contact does not exist, a new one is created, otherwise existing contact records are updated. Previously removed contacts will be reactivated if they match provided details.
Contact matching is performed in order of matching external ID or email address. At least one of these details must be provided, and the first matching contact (if found) is used for update operations.
Request Parameters
The unique ID of the contact list you wish to add this contact to.
Request Body
Any external identifier you have supplied for this contact which can be used to update this contact in future calls.
Conditionally required: At least one of externalId
or email
is required for a sync operation.
The first name of a contact.
The last name of a contact, if known / applicable.
An email address for this contact, if supplied, which can be used to uniquely identify this contact for subsequent actions.
Conditionally required: At least one of externalId
or email
is required for a sync operation.
The company a contact belongs to, if required.
The primary address line, including street number, name and type.
A secondary address line, typically containing a unit, apartment, suite number etc.
A suburb or city for the contact.
The state or province for this address.
Conditionally required based on the country supplied.
A 2-character ISO code identifying the contact's country.
A postal code or ZIP code for this contact, where required by local addressing formats.
Conditionally required based on the country supplied.
Additional custom fields based on field codes for extended data on this contact record.
For each custom field in your list, fields may be specified based on the unique field ID created by Cardly.
Fields will be subject to data type checking where appropriate:
URL Fields require full, complete URLs supplied, if used. Number Fields require any numeric string, free of any human readable formatting (ie, commas for thousands separators).
200 Response Body
A Contact
representing the contact that was updated or created.
Orders
The orders
endpoints provide the ability to generate on-the-fly previews with supplied card data, lodge live orders and query your organisation's order history.
Please note: Once lodged with a live API key, orders are typically difficult to cancel reliably due to our printer partner's schedules. If you have lodged an order in error, please immediately contact the Cardly support team so we can attempt to intervene on your behalf. However, Cardly is unable to make any guarantee on how successful cancelling an order that has gone to print will be.
Order Object
The order object provides detail on a given order on your account, along with individual line item recipient, sender, cost and timing information.
Properties
Unique identifier for this order.
The current status of this order.
Where the order originated - via the API, your organisation portal, etc.
Details about the organisation or user that placed this order. For API-originating orders, this will be your organisation details.
Contains details of the overall order costs.
Contains details of the overall order creation, update and payment times.
List of OrderItem
records that comprise this order.
Order Item Object
The order item object provides detail on a component of a larger order, along with detail related to add-on components to this item (ie, gift cards, additional envelopes).
Properties
Unique identifier for this order item.
The type of item this is - typically card
.
The media ID relevant to this item, if a printed card/letter.
The artwork ID relevant to this item, if a printed card/letter.
The template ID relevant to this item, if a printed card/letter.
A description of this item, typically the card artwork title.
The number of units of this item that were ordered.
The total cost of this item, whether paid by credits or real currency.
Either S
for shipping back to the sender, or D
for shipping direct to the customer.
The shipping method used, one of standard
, tracked
or express
.
One of:standard
, tracked
, express
If requested at order time, the date this item was requested to arrive by.
The recipient's address details for this item.
The sender's address details for this item.
Requested delivery timings and estimated delivery windows for this item.
Lodgement, production and shipping timing information for this item.
Tracking information related to this item, if relevant to the shipping method.
A list of related items for this one, such as gift cards and additional envelopes where required.
Style Object
The style object denotes styling options to be applied to a template, card page, or individual element (where applicable). Not all options below have an effect on all elements, however are described here for ease of reference.
Properties
One of left
(default) or center
to denote text flow behaviour.
One of:left
, center
RRGGBB hex code (without the hash mark) denoting the colour to use for text or doodle elements.
ID of a font to apply to a text area. Must be either a publically available font or accessible by your organisation.
A number to control the size of rendered text. Note that the actual rendered size depends on both this and settings build in to your selected font style.
One of top
(default), center
, or bottom
to denote where rendered text should sit in relation to the editor page.
Note: This feature is experimental and should be used with caution.
One of:top
, center
, bottom
ID of a writing style to apply. Defaults to 'standard' as per the main Cardly editor if not defined.
GET List Orders
Retrieve orders placed by your organisation.
200 Response Body
A paginated array of zero or more Order
objects.
A paginated array of zero or more Order
objects.
GET Retrieve Order
Retrieve information on a specific order.
Request Parameters
The unique ID of the order to retrieve.
200 Response Body
An Order
representing the order that was requested.
POST Generate Preview
The preview
endpoint allows you to generate a quick, low-quality, watermarked preview document for a given piece of card art and template, along with passed user data. You will also be provided with delivery window estimates and a projected credit cost for the order based on your passed data.
This call is intentionally nearly identical to the PlaceOrder
function to facilitate testing and a quick migration to ordering. The main difference between these calls is a PlaceOrder
request permits multiple line items with differing data and settings, while Preview
deals with only a single card at a time.
Request Body
The unique artwork ID to use for this card. This may be the UUID or slug for a given piece of artwork under your organisation.
The template ID to use top populate this card. If no template is specified, only the main text panels on the card will be utilised and no variable substitutions will occur.
Styles to apply to act as defaults for the whole card. This does not need to define all style object elements, only those you wish to override from a used template or default styles.
Please note: If you have specified a template, the style
element will override any properties the template has set as defaults. We suggest using this feature with care.
Message data to inject when not utilising pre-built templates from your account.
1-based identifier for the page these settings relate to. 1 identifies the front page, each subsequent page is identified in reading order.
Text to override into the main panel of a card. Replaces any text that may be present from a template that's in use.
Page-level overrides for styling, if required.
Please note: This should be used with care and thoroughly tested before you deploy your application to production. Cardly accepts no responsiblity for poorly designed cards when using this feature.
Zero or more variables to inject into a template, based on the variables supported by that template. This is a key => value mapped object based on the variables to use in the template.
The recipient's addressing details, as they should appear on the envelope.
The recipient's first name, as it should appear on the envelope.
The recipient's last name, as it should appear on the envelope
The recipient's company, if required, as it should appear below their name on the envelope.
The recipient's street number, name and type.
Unit, floor, apartment etc. additional information for the recipient's address.
Suburb or city for the recipient.
State / province / region for the recipient, if required. UK and NZ currently do not require a region specified. Conditionally required based on the country supplied.
The postcode for this recipient. Note that this may be empty for countries that do not utilise postcodes.
Conditionally required based on the country supplied.
The 2-character ISO code for the country relating to this recipient.
Details of the sender for this order.
Please note: the entire sender section is optional and will default to your organisation's return details if not completed.
If any sender element is specified, all must be specified.
The sender's first name, as it should appear on the envelope.
The sender's last name, as it should appear on the envelope
The sender's company, if required, as it should appear below their name on the envelope.
The sender's street number, name and type.
Unit, floor, apartment etc. additional information for the sender's address.
Suburb or city for the sender.
State / province / region for the sender, if required. UK and NZ currently do not require a region specified.
Conditionally required based on the country supplied.
The postcode for this sender. Note that this may be empty for countries that do not utilise postcodes.
Conditionally required based on the country supplied.
The 2-character ISO code for the country relating to this sender.
true
to omit the return address entirely from a generated envelope.
The shipping method to use. Note that shipping method support is on a per-region basis, but all regions will at minimum support the standard shipping method.
Currently, only Australia supports the tracked
shipping method.
Currently, only Australia and the United States support the express
shipping method.
One of:standard
, tracked
, express
If set to true
, denotes that the recipient of this card is also the sender and to include an additional, blank envelope. Note that this incurs a small additional credit cost per card within the order.
A future requested arrival date for this card. In a preview request, this will provide a basis for shipping window estimates to be returned. If not specified, immediate dispatch is assumed and dates will be calculated based on the current date.
A purchase order or other identifier to store against the order. Note that this has no bearing on a preview, unless there is an template variable that accepts this value.
200 Response Body
A description of your current account credit and gift credit balances, along with links to the relevant preview documents for your request.
Your organisation's current credit balance after this order has been charged.
Your gift credit balance after this order has been charged.
The currency your gift credit is displayed in.
Describes credit costs and shipping windows based on the requested preview data.
The total card credit cost for this preview item, if it were placed as an order line item.
The total gift credit required for a line item if it was placed as an order line item.
Requested and estimated delivery windows based on either your requestedArrival date or the current time.
When this preview's generated documents will be deleted. These documents should be retrieved prior to this time.
The file format this preview was generated in. Currently only pdf
is supported.
URLs for the card and envelope artwork for this preview.
A URL to retrieve the card preview document.
A URL to retrieve the envelope preview document. Note that this will not exist for postcards.
POST Place Order
The place
endpoint allows you to place an order for one or more items, being delivered to one or more distinct recipients. Generally, we recommend that individual orders are created for individual recipients to minimise potential validation and other rejection issues.
Note that you must have sufficient credit on your account to place your order. If you have insufficient credit, a 402
response will be returned with detail on the required credit cost and your current balance.
Request Body
A list of one or more of the below OrderItem
structures to include into the overall order.
The unique artwork ID to use for this card. This may be the UUID or slug for a given piece of artwork under your organisation.
The template ID to use top populate this card. If no template is specified, only the main text panels on the card will be utilised and no variable substitutions will occur.
The number of copies of this item to request.
Please note: that all copies will use the same template, variables etc specified in this order item so this should not be used where personalised cards are expected.
Styles to apply to act as defaults for the whole card. This does not need to define all style object elements, only those you wish to override from a used template or default styles.
Please note: If you have specified a template, the style
element will override any properties the template has set as defaults. We suggest using this feature with care.
Message data to inject when not utilising pre-built templates from your account.
1-based identifier for the page these settings relate to. 1 identifies the front page, each subsequent page is identified in reading order.
Text to override into the main panel of a card. Replaces any text that may be present from a template that's in use.
Page-level overrides for styling, if required.
Please note: This should be used with care and thoroughly tested before you deploy your application to production. Cardly accepts no responsiblity for poorly designed cards when using this feature.
Zero or more variables to inject into a template, based on the variables supported by that template. This is a key => value mapped object based on the variables to use in the template.
The recipient's addressing details, as they should appear on the envelope.
The recipient's first name, as it should appear on the envelope.
The recipient's last name, as it should appear on the envelope
The recipient's company, if required, as it should appear below their name on the envelope.
The recipient's street number, name and type.
Unit, floor, apartment etc. additional information for the recipient's address.
Suburb or city for the recipient.
State / province / region for the recipient, if required. UK and NZ currently do not require a region specified.
Conditionally required based on the country supplied.
The postcode for this recipient. Note that this may be empty for countries that do not utilise postcodes.
Conditionally required based on the country supplied.
The 2-character ISO code for the country relating to this recipient.
Details of the sender for this order.
Please note: the entire sender section is optional and will default to your organisation's return details if not completed.
If any sender element is specified, all must be specified.
The sender's first name, as it should appear on the envelope.
The sender's last name, as it should appear on the envelope
The sender's company, if required, as it should appear below their name on the envelope.
The sender's street number, name and type.
Unit, floor, apartment etc. additional information for the sender's address.
Suburb or city for the sender.
State / province / region for the sender, if required. UK and NZ currently do not require a region specified.
Conditionally required based on the country supplied.
The postcode for this sender. Note that this may be empty for countries that do not utilise postcodes.
Conditionally required based on the country supplied.
The 2-character ISO code for the country relating to this sender.
true
to omit the return address entirely from a generated envelope.
The shipping method to use. Note that shipping method support is on a per-region basis, but all regions will at minimum support the standard shipping method.
Currently, only Australia supports the tracked
shipping method.
Currently, only Australia and the United States support the express
shipping method.
One of:standard
, tracked
, express
If set to true
, denotes that the recipient of this card is also the sender and to include an additional, blank envelope. Note that this incurs a small additional credit cost per card within the order.
A future requested arrival date for this card. In a preview request, this will provide a basis for shipping window estimates to be returned. If not specified, immediate dispatch is assumed and dates will be calculated based on the current date.
A reference number to place against this order - useful to tie back to your existing systems for auditing.
200 Response Body
An Order
representing the order that was created.
Your organisation's current credit balance after this order has been charged.
Your gift credit balance after this order has been charged.
The currency your gift credit is displayed in.
An Order
object representing the order you just placed.
Invitations
The invitations
endpoints provide the ability to create, manipulate and interrogate lists of invitations to access your organisation account.
These allow you to programmatically and on-demand provide access to your account to allow users to send via your portal and use credits (if permitted). Such access is particularly useful for promotions or internal activities, such as penpal and gratitude initiatives.
Invitation Object
The invitation object provides detail on user that's been invited to your account and the status of that invitation.
Properties
Unique identifier for this invitation.
The invited user's first name, if known.
The invited user's last name, if known.
The invited user's email address.
The current status of this invitation.
Permission-keyed list of permissions available once this invitation is accepted.
When the invitation was created.
When the user's email invitation was sent.
When the invitation was accepted, if at all.
When the invitation expires.
The acceptance URL for this invitation.
GET List Invitations
Retrieve active invitations for your organisation.
This request accepts standard pagination options limit, offset
along with the following additional filters:
Request Parameters
If truthy, only return accepted invitations.
If truthy, only return expired invitations.
If truthy, includes accepted invitations in the response. By default, accepted invitations are filtered out of listings.
200 Response Body
A paginated array of zero or more Invitation
objects.
A paginated array of zero or more Invitation
objects.
POST Create Invitation
Send an invitation to use your organisation portal, if the provided email address doesn't already have access.
Request Body
The first name of the user.
The last name of the user.
An email address for this user.
Zero or more permission identifiers from the following list, denoting the privileges to grant the user once they accept your invitation: administrator
artwork
billing
campaigns
developer
lists
moderate
moderate-history
orders
templates
users
use-credits
use-saved-card
200 Response Body
An Invitation
representing the invitation that was created.
DELETE Delete Invitation by Email
Delete an invitation by email address, immediately invalidating it for acceptance.
Request Body
The email address to search for.
200 Response Body
An Invitation
representing the invitation that was deleted.
GET Retrieve Invitation
Retrieve information on a specific invitation, identified by Cardly's unique identifier for the record.
Request Parameters
The unique ID of the invitation to retrieve.
200 Response Body
An Invitation
representing the invitation that was located.
DELETE Delete Invitation
Delete an invitation by unique ID address, immediately invalidating it for acceptance.
Request Parameters
The unique ID of the invitation to revoke.
200 Response Body
An Invitation
representing the invitation that was deleted.
GET Find Invitation
Retrieve information on a specific invitation, searching by a provided email address.
Request Parameters
The email address to search for.
200 Response Body
An Invitation
representing the invitation that was located.
POST Resend Invitation by Email
Resend an invitation to a specified email address if that invitation has not yet been accepted.
Request Body
The email address to search for.
200 Response Body
An Invitation
representing the invitation that was resent.
POST Resend Invitation
Resend an invitation identified by Cardly's unique ID.
Request Parameters
The unique ID to the invitation to resend.
200 Response Body
An Invitation
representing the invitation that was resent.
Users
The users
endpoints provide the ability to interrogate and remove users who have access your organisation account.
These allow you to programmatically and check and remove access to your account as required.
Please note: Access can not be removed for users with administrator
privileges on your account. These must be removed via your portal directly.
User Object
The user object provides detail on user has accepted an invitation to use your to your account.
Properties
Unique identifier for this user.
The user's first name, if known.
The user's last name, if known.
The user's email address.
The current status of this user.
Permission-keyed list of permissions available to this user.
GET List Users
Retrieve active users for your organisation.
200 Response Body
A paginated array of zero or more User
objects.
A paginated array of zero or more User
objects.
DELETE Delete User by Email
Delete a user by email address, immediately revoking their access to your organisation portal.
Please note: Access can not be removed for users with administrator
privileges on your account. These must be removed via your portal directly.
Request Body
The email address to search for.
GET Retrieve User
Retrieve information on a specific user, identified by Cardly's unique identifier for the record.
Request Parameters
The unique ID of the user to retrieve.
DELETE Delete user
Delete a user by unique ID address, immediately revoking their access to your organisation portal.
Please note: Access can not be removed for users with administrator
privileges on your account. These must be removed via your portal directly.
Request Parameters
The unique ID of the user to revoke.
200 Response Body
A User
representing the invitation that was deleted.
GET Find User
Retrieve information on a specific user, searching by a provided email address.
Request Parameters
The email address to search for.
Object References
Contact List Field
The contact list field object defines additional, custom fields to be applied to all contacts within a list.
Properties
A unique identifier for this field which never changes.
A human-readable code for this field, based on the field name. These don't change and can be used to reference additional data when syncing contacts.
A human-readable label for this field.
Extended information about this field, if required.
The type of field this is, currently one of text
, date
or number
.
One of:text
, date
, number
The status of this field - currently always active
.
Contact List Rule
A contact list rule object describes tasks be performed automatically at specified intervals or based on triggers set up in the Cardly platform.
Properties
A unique identifier for this rule which never changes.
The field ID linked to this validation rule as a trigger.
A list of Artwork
entries to use for sends.
The template to use for this rule.
Whether or not this automation is currently enabled for sending.
A human-readable name for this automation rule.
Extended information on this rule, if required.
The type of comparison (eq, db, da, etc) to apply to the trigger field.
The value to compare to in order to evaluate whether the trigger has succeeded or not.
If true and linked to a date
field, this automation will trigger yearly (ie, for birthday or anniversary type events).
Key-value mapped object of template variable code to contact list field for injecting data into the final card template.
The custom field ID or contact field name to map this template variable to.
Additional formatting to apply to the bound value, such as a number of years difference to the target send date.
Order Costs Object
Describes the costs of the order as a whole, whether paid by credits or real currency. Note that only credit/giftCredit elements are only present and other fields (gross, discount, etc) are omitted if paid for via credits. The reverse is also true if paid for via real currency - credits/giftCredit fields will be omitted, while the others will be present.
Properties
The total credits this order consumed, if paid by credits.
TheThe total gift credits this order consumed, if paid by credits.
The gross cost of this order, exclusive of tax.
The discount amount for this order overall.
The total amount of tax on this order, exclusive of shipping.
The total tax-exclusive cost of shipping for this order.
The total amount of tax applied to shipping.
The total cost of this order.
The currency this order was priced in.
Order Customer Details Object
Details about the organisation or user that placed this order. For API-originating orders, this will be your organisation details.
Properties
The customer's first name.
The customer's last name.
The primary address line
The sub-premises level of the address, where required.
The suburb/city level of an address.
The state/province/region level abbreviation such as NY, QC, QLD for US, Canadian or Australian addresses, or the full region name for other countries. Note that this may be empty for countries which do not utilise the region level for addressing.
The postcode for this address. Note that this may be empty for countries that do not utilise postcodes.
The 2-character ISO code for the country relating to this address.
The contact email address fro the customer.
A customer supplied purchase order number, if relevant.
Any additional notes for this order to pass on to the production team.
Order Timings Object
Contains details of the overall order creation, update and payment times.
Properties
When this order was first raised.
When this order was paid - if currently marked as paid.
When this order was last updated.
Related Item Object
A component of a parent OrderItem, such as an additional envelope or gift card.
Properties
Unique identifier for this order item.
The type of item this is - typically gift-card
or envelope
.
One of:gift-card
, envelope
A description of this item, typically the card artwork title.
The number of units of this item that were ordered.
The total cost of this item, whether paid by credits or real currency.
Order Item Address Object
Describes an addressing element such as sender or recipient or for a given order item.
Properties
The primary addressee's name.
An optional company line, where relevant. May be blank.
The primary address line
The sub-premises level of the address, where required.
The suburb/city level of an address.
The state/province/region level abbreviation such as NY, QC, QLD for US, Canadian or Australian addresses, or the full region name for other countries. Note that this may be empty for countries which do not utilise the region level for addressing.
The postcode for this address. Note that this may be empty for countries that do not utilise postcodes.
The 2-character ISO code for the country relating to this address.
Conditionally present if this address should be omitted from envelopes. Only used for sender addresses.
Order Item Costs Object
Describes the costs of an individual line item within an order, whether paid by credits or real currency. Note that only credit/giftCredit elements are only present and other fields (gross, discount, etc) are omitted if paid for via credits. The reverse is also true if paid for via real currency - credits/giftCredit fields will be omitted, while the others will be present.
Properties
The total credits this item consumed, if paid by credits.
The amount of gift credit used for this item in the order's currency, if relevant.
The gross unit cost of this item, exclusive of tax.
The discount amount per unit for this item.
The amount of tax per unit on this item, exclusive of shipping.
The per-unit tax-exclusive cost of shipping for this item.
The amount per unit of tax applied to shipping.
The final per unit cost, inclusive of tax, shipping and discounts for this item.
The currency this item was priced in.
Order Item Delivery Details
Describes requested and estimated delivery windows for a given item.
Properties
The arrival date requested, if applicable. This will be null where you did not specify a requested delivery date.
The date an order will be sent to print, either today if no requested delivery date is specified, or a date calculated from the maximum delivery window time for your selected shipping method.
The estimated earliest date an order should be received.
Note that this is subject to end postal carriers and beyond the control of Cardly directly.
The estimated latest date an order should be received.
Note that this is subject to end postal carriers and beyond the control of Cardly directly.
Order Item Timings Object
Describes various timings within an card's lifecycle, from request to lodgement, production and dispatch.
Properties
The scheduled time for sending this item to print. Lodgement will always occur after this time.
When this item was sent to print.
When this item was shipped.
Please note: We rely on external data to populate this and it may not always be immediately available.
If this item is being held, the time the item was marked for holding.
Order Item Tracking Object
Describes requested and estimated delivery windows for a given item.
Properties
The name of the carrier for orders with tracking.
The tracking code provided by the carrier for a given consignment.
Carrier's URL where applicable to view tracking information for this consignment.