{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://raw.githubusercontent.com/api-evangelist/emburse/refs/heads/main/json-schema/emburse-card.json", "title": "APICard", "description": "Emburse APICard schema", "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "description": { "type": "string" }, "name": { "type": "string", "readOnly": true }, "product": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" } }, "writeOnly": true, "nullable": true }, "is_virtual": { "type": "boolean" }, "last_four": { "type": "string", "readOnly": true, "pattern": "^[0-9]{4}$", "maxLength": 4 }, "state": { "type": "string" }, "suspension_reason": { "type": "string", "nullable": true }, "assigned_to": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "url": { "type": "string", "readOnly": true }, "email": { "type": "string", "readOnly": true }, "code": { "type": "string", "readOnly": true, "nullable": true, "pattern": "^[0-9A-z\\.\\-]+$", "maxLength": 36, "minLength": 1 }, "first_name": { "type": "string", "readOnly": true, "maxLength": 255 }, "last_name": { "type": "string", "readOnly": true, "maxLength": 255 } }, "required": [ "first_name", "last_name" ], "nullable": true }, "category": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "readOnly": true, "maxLength": 255 }, "code": { "type": "string", "readOnly": true, "nullable": true, "pattern": "^[0-9A-z\\.\\-]+$", "maxLength": 36, "minLength": 1 }, "parent": { "type": "object", "properties": {}, "readOnly": true }, "is_archived": { "type": "boolean", "readOnly": true }, "created_at": { "type": "string", "format": "date-time", "readOnly": true }, "url": { "type": "string", "readOnly": true } }, "required": [ "name", "parent" ], "nullable": true }, "department": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "readOnly": true, "maxLength": 255 }, "code": { "type": "string", "readOnly": true, "nullable": true, "pattern": "^[0-9A-z\\.\\-]+$", "maxLength": 36, "minLength": 1 }, "parent": { "type": "object", "properties": {}, "readOnly": true }, "is_archived": { "type": "boolean", "readOnly": true }, "created_at": { "type": "string", "format": "date-time", "readOnly": true }, "url": { "type": "string", "readOnly": true } }, "required": [ "name", "parent" ], "nullable": true }, "location": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "readOnly": true, "maxLength": 255 }, "code": { "type": "string", "readOnly": true, "nullable": true, "pattern": "^[0-9A-z\\.\\-]+$", "maxLength": 36, "minLength": 1 }, "parent": { "type": "object", "properties": {}, "readOnly": true }, "is_archived": { "type": "boolean", "readOnly": true }, "created_at": { "type": "string", "format": "date-time", "readOnly": true }, "url": { "type": "string", "readOnly": true } }, "required": [ "name", "parent" ], "nullable": true }, "label": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid" }, "name": { "type": "string", "readOnly": true, "maxLength": 255 }, "code": { "type": "string", "readOnly": true, "nullable": true, "pattern": "^[0-9A-z\\.\\-]+$", "maxLength": 36, "minLength": 1 }, "parent": { "type": "object", "properties": {}, "readOnly": true }, "is_archived": { "type": "boolean", "readOnly": true }, "created_at": { "type": "string", "format": "date-time", "readOnly": true }, "url": { "type": "string", "readOnly": true } }, "required": [ "name", "parent" ], "nullable": true }, "allowance": { "type": "object", "properties": { "id": { "type": "string", "format": "uuid", "readOnly": true }, "url": { "type": "string", "readOnly": true }, "interval": { "type": "string", "nullable": true }, "amount": { "type": "number", "multipleOf": 0.01, "maximum": 100000000000000, "minimum": 0.0 }, "transaction_limit": { "type": "number", "multipleOf": 0.01, "maximum": 100000000000000, "minimum": 0.0, "nullable": true }, "daily_limit": { "type": "number", "multipleOf": 0.01, "maximum": 100000000000000, "minimum": 0.01, "nullable": true }, "single_use": { "type": "boolean" }, "start_time": { "type": "string", "format": "date-time", "nullable": true }, "end_time": { "type": "string", "format": "date-time", "nullable": true }, "scope": { "type": "array", "items": { "type": "integer", "maximum": 9223372036854775807, "minimum": 1, "format": "int64" }, "maxItems": 10 }, "balance": { "type": "number", "multipleOf": 0.01, "maximum": 100000000000000, "minimum": -100000000000000, "readOnly": true } }, "required": [ "balance" ] }, "expiration": { "type": "string", "format": "date", "readOnly": true }, "billing_name": { "type": "string" }, "billing_address": { "type": "string", "nullable": true }, "shipping_address": { "type": "string", "nullable": true }, "shipping": { "type": "object", "properties": { "address": { "type": "object", "properties": { "attn": { "type": "string" }, "address_1": { "type": "string" }, "address_2": { "type": "string" }, "city": { "type": "string" }, "state": { "type": "string" }, "postal_code": { "type": "string" }, "country": { "type": "string" } }, "required": [ "address_1", "postal_code", "country" ], "nullable": true }, "carrier": { "enum": [ "fedex", "usps", "royal_mail", "dhl" ], "type": "string", "readOnly": true }, "eta": { "type": "string", "format": "date-time", "readOnly": true }, "name": { "type": "string", "readOnly": true }, "order_size": { "enum": [ "individual", "bulk" ], "type": "string" }, "phone_number": { "type": "string", "nullable": true }, "require_signature": { "type": "boolean" }, "service": { "enum": [ "standard", "express", "priority" ], "type": "string" }, "status": { "enum": [ "pending", "shipped", "delivered", "returned", "failure", "canceled" ], "type": "string", "readOnly": true }, "tracking_number": { "type": "string", "readOnly": true }, "tracking_url": { "type": "string", "readOnly": true } }, "required": [ "address" ], "nullable": true }, "created_at": { "type": "string", "format": "date-time", "readOnly": true }, "network": { "type": "string", "readOnly": true, "nullable": true } } }