Upload or replace linked file

Uploads or replaces a linked file for a card template. The file_role query parameter is required.

PUT /api/3/card_templates/{id}/files/{file_uuid}

Authentication

This endpoint requires authentication:

OAuth 2.0 Recommended

Use an OAuth 2.0 access token in the Authorization header. This is the recommended authentication method for all integrations. OAuth provides automatic token expiration, granular permission scopes, detailed usage tracking, and per-integration revocation. Learn how to obtain an access token.

Header Format:

Authorization: Bearer YOUR_ACCESS_TOKEN

Required Scopes:

private.account.card_template

Parameters

Path Parameters

id integer
Required

Card template ID

file_uuid string
Required

UUID of the linked file

Query Parameters

file_role string
Required

Role of the file (e.g. background_front, background_back, logo)

Responses

200

File uploaded successfully

Response Fields

uuid string

Unique identifier for this linked file

entity_type string

Type of the parent entity

entity_uuid string

UUID of the parent entity

file_role string

Role of this file (e.g. background_front, background_back, logo)

url string | null

URL to download the file, or null if not yet uploaded

content_type string

MIME type of the file

created_at string
updated_at string
401

Unauthorized - Invalid or missing authentication

Response Fields

error string
eg. unauthorized
error_description string
eg. The access token is invalid
403

Forbidden - User does not have permission

Response Fields

error string
eg. forbidden
error_description string
eg. You are not authorized to access this resource
404

Not Found - Resource does not exist or is not an admission request event

Response Fields

error string
eg. not_found
error_description string
eg. The requested resource was not found
422

Unprocessable Entity - Validation failed

Response Fields

error string

Error message

errors object

Field-specific validation errors

Show child attributes
value array
eg. ["value is already in use on your account", "must be between 4 and 7 digits in length"]

Validation errors for the credential value

credential_type_id array
eg. ["Not found for this account"]

Validation errors for the credential type

limit_reached string
eg. You have reached your HID Mobile licence limit. Please contact DoorFlow Support.

License limit error message

500

Internal Server Error

Response Fields

error string
eg. internal_server_error
error_description string
eg. An unexpected error occurred

Request

curl -X PUT \
  "https://api.doorflow.com/api/3/card_templates/{id}/files/{file_uuid}" \
  -H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Responses

File uploaded successfully

{
  "uuid": "string",
  "entity_type": "string",
  "entity_uuid": "string",
  "file_role": "string",
  "url": "string",
  "content_type": "string",
  "created_at": "string",
  "updated_at": "string"
}