> ## Documentation Index > Fetch the complete documentation index at: https://docs.hawk.ai/llms.txt > Use this file to discover all available pages before exploring further. # Create a workflow ## OpenAPI ````json POST /v1/workflows { "openapi": "3.1.0", "info": { "title": "OpenAPI definition", "version": "v0" }, "servers": [ { "url": "https://api.test.aml-ai.net", "description": "Default Server URL" }, { "url": "https://api.test.aml-ai.net", "description": "Default Server URL" }, { "url": "https://api.test.aml-ai.net", "description": "Generated server url" } ], "security": [ { "API_KEY": [] } ], "tags": [ { "name": "customer-case", "description": "the customer-case API" }, { "name": "transaction-case", "description": "the transaction-case API" } ], "paths": { "/v1/workflows": { "post": { "tags": [ "workflow-controller" ], "summary": "Create a workflow", "operationId": "create", "requestBody": { "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRequest" } } }, "required": true }, "responses": { "200": { "description": "Successfully processed Workflow", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/WorkflowRequest" } } } }, "400": { "description": "Bad request" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "429": { "description": "Too many requests. Please retry later" } } } } }, "components": { "schemas": { "WorkflowRequest": { "type": "object", "properties": { "acceptList": { "$ref": "#/components/schemas/AcceptListRequest" } } }, "AcceptListRequest": { "type": "object", "properties": { "validUntil": { "type": "string", "format": "date-time", "description": "Date and time the accept list is valid until in UTC time zone.", "example": "2024-06-16T14:38:47.812" }, "caseId": { "type": "string", "format": "uuid", "description": "Anchor point to identify original case that the account was whitelisted for tenantTransactionId", "example": "25721f57-038b-4b71-884a-e18f85c01288" }, "tenantTransactionId": { "type": "string", "description": "Identifier provided by the tenant. Not unique — multiple POSTs with the same value create separate cases. Use caseId to identify a specific case.", "example": "25721f57-038b-4b71-884a-e18f85c01288" }, "criteria": { "type": "array", "description": "List of criteria to be met for the transaction to be considered as accepted. If multiple criteria are provided, at least one must be met by transaction. Otherwise, transaction is considered as not temporary accepted and normal processing is happening for it.", "example": [ { "type": "accountId", "id": "25721f57-038b-4b71-884a-e18f85c01288" } ], "items": { "$ref": "#/components/schemas/Criteria" }, "minItems": 1 } }, "required": [ "caseId", "criteria", "tenantTransactionId", "validUntil" ] }, "Criteria": { "type": "object", "properties": { "type": { "type": "string", "description": "Type of the value. Currently supported values are accountId and accountNumber.", "enum": [ "accountId", "accountNumber" ], "example": "accountId" }, "id": { "type": "string", "description": "Value", "example": "25721f57-038b-4b71-884a-e18f85c01288", "minLength": 1 } }, "required": [ "id", "type" ] } }, "securitySchemes": { "API_KEY": { "in": "header", "name": "api-key", "type": "apiKey" } } } } ````