> For the complete documentation index, see [llms.txt](https://hub.equipme.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hub.equipme.io/development/api-reference-app/procurement-or-approval-flows.md).

# Procurement | Approval Flows

## GET /v1/procurement/approval-flow-templates

>

```json
{"openapi":"3.0.4","info":{"title":"Equipme Customer API","version":"v1"},"tags":[{"name":"Procurement | Approval-Flows"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"Required for authorization in every request. You can request an API-Key for your tenant in the integrations section of the equipme App.","name":"X-API-KEY","in":"header"}},"schemas":{"ApprovalFlow":{"type":"object","properties":{"flowId":{"type":"string","nullable":true},"templateId":{"type":"string","format":"uuid"},"type":{"$ref":"#/components/schemas/FlowType"},"stage":{"$ref":"#/components/schemas/FlowStage"},"title":{"type":"string","nullable":true},"started":{"type":"string","format":"date-time"},"created":{"type":"string","format":"date-time"},"modified":{"type":"string","format":"date-time"},"description":{"type":"string","nullable":true}},"additionalProperties":false,"description":"Data transfer for an approval flow. Maps also to the [flow] entity of the appmixer service."},"FlowType":{"enum":["Default","SupervisorApproval","TeamManagerApproval","LocationManagerApproval"],"type":"string","description":"The type of approval flow. Simple approval flows are predefined flows which can be used out of the box.\nCustom approval flows are flows which can be customized by the user. Default approval flows are the default flows that are used when no other flow is specified."},"FlowStage":{"enum":["Stopped","Started"],"type":"string","description":"Indicates the stage of the approval flow. This represents the state of the flow in appmixer."}}},"paths":{"/v1/procurement/approval-flow-templates":{"get":{"tags":["Procurement | Approval-Flows"],"parameters":[{"name":"nameFilter","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalFlow"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}}}}
```

## GET /v1/procurement/approval-flows

>

```json
{"openapi":"3.0.4","info":{"title":"Equipme Customer API","version":"v1"},"tags":[{"name":"Procurement | Approval-Flows"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"Required for authorization in every request. You can request an API-Key for your tenant in the integrations section of the equipme App.","name":"X-API-KEY","in":"header"}},"schemas":{"ApprovalFlowType":{"enum":["Simple","Advanced","Custom","Basic"],"type":"string"},"ApprovalFlowConfigurationResourceList":{"type":"object","properties":{"total":{"type":"integer","description":"Total number of configured approval flows.","format":"int32"},"previous":{"$ref":"#/components/schemas/ResourceLink"},"next":{"$ref":"#/components/schemas/ResourceLink"},"self":{"$ref":"#/components/schemas/ResourceLink"},"items":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalFlowConfigurationResource"},"description":"The configured approval flows.","nullable":true}},"additionalProperties":false,"description":"Resource list of configured approval flows for the tenant."},"ResourceLink":{"type":"object","properties":{"href":{"type":"string","nullable":true},"method":{"type":"string","nullable":true}},"additionalProperties":false},"ApprovalFlowConfigurationResource":{"type":"object","properties":{"id":{"type":"integer","description":"Identifier of the configuration row.","format":"int32"},"templateKey":{"type":"string","description":"Key of the assigned approval-flow template (SALES.ApprovalFlowTemplates.Key).","nullable":true},"name":{"type":"string","description":"Display name of the assigned template.","nullable":true},"requireSameLevelApproval":{"type":"boolean","description":"When true, a request is created for the other same-level approvers even if the order creator is\none of the approvers. When false, the order is auto-approved with no request in that case."},"self":{"$ref":"#/components/schemas/ResourceLink"}},"additionalProperties":false,"description":"A configured approval-flow template assignment for the tenant."}}},"paths":{"/v1/procurement/approval-flows":{"get":{"tags":["Procurement | Approval-Flows"],"parameters":[{"name":"flowTypeFilter","in":"query","schema":{"$ref":"#/components/schemas/ApprovalFlowType"}},{"name":"nameFilter","in":"query","schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalFlowConfigurationResourceList"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}}}}
```

## POST /v1/procurement/approval-flows

>

```json
{"openapi":"3.0.4","info":{"title":"Equipme Customer API","version":"v1"},"tags":[{"name":"Procurement | Approval-Flows"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"Required for authorization in every request. You can request an API-Key for your tenant in the integrations section of the equipme App.","name":"X-API-KEY","in":"header"}},"schemas":{"CreateApprovalFlowRequest":{"type":"object","properties":{"flowId":{"type":"string","nullable":true},"name":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"templateId":{"type":"string","nullable":true},"requireSameLevelApproval":{"type":"boolean","description":"When true, an approval request is created for the other same-level approvers even if the order\ncreator is themselves one of the approvers. When false (default), the order is auto-approved with\nno request in that case."}},"additionalProperties":false},"ApprovalFlow":{"type":"object","properties":{"flowId":{"type":"string","nullable":true},"templateId":{"type":"string","format":"uuid"},"type":{"$ref":"#/components/schemas/FlowType"},"stage":{"$ref":"#/components/schemas/FlowStage"},"title":{"type":"string","nullable":true},"started":{"type":"string","format":"date-time"},"created":{"type":"string","format":"date-time"},"modified":{"type":"string","format":"date-time"},"description":{"type":"string","nullable":true}},"additionalProperties":false,"description":"Data transfer for an approval flow. Maps also to the [flow] entity of the appmixer service."},"FlowType":{"enum":["Default","SupervisorApproval","TeamManagerApproval","LocationManagerApproval"],"type":"string","description":"The type of approval flow. Simple approval flows are predefined flows which can be used out of the box.\nCustom approval flows are flows which can be customized by the user. Default approval flows are the default flows that are used when no other flow is specified."},"FlowStage":{"enum":["Stopped","Started"],"type":"string","description":"Indicates the stage of the approval flow. This represents the state of the flow in appmixer."}}},"paths":{"/v1/procurement/approval-flows":{"post":{"tags":["Procurement | Approval-Flows"],"requestBody":{"content":{"application/json-patch+json":{"schema":{"$ref":"#/components/schemas/CreateApprovalFlowRequest"}},"application/json":{"schema":{"$ref":"#/components/schemas/CreateApprovalFlowRequest"}},"text/json":{"schema":{"$ref":"#/components/schemas/CreateApprovalFlowRequest"}},"application/*+json":{"schema":{"$ref":"#/components/schemas/CreateApprovalFlowRequest"}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalFlow"}}}},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"404":{"description":"Not Found"},"500":{"description":"Internal Server Error"}}}}}}
```

## DELETE /v1/procurement/approval-flows

>

```json
{"openapi":"3.0.4","info":{"title":"Equipme Customer API","version":"v1"},"tags":[{"name":"Procurement | Approval-Flows"}],"security":[{"ApiKey":[]}],"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","description":"Required for authorization in every request. You can request an API-Key for your tenant in the integrations section of the equipme App.","name":"X-API-KEY","in":"header"}}},"paths":{"/v1/procurement/approval-flows":{"delete":{"tags":["Procurement | Approval-Flows"],"responses":{"204":{"description":"No Content"},"400":{"description":"Bad Request"},"401":{"description":"Unauthorized"},"403":{"description":"Forbidden"},"500":{"description":"Internal Server Error"}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://hub.equipme.io/development/api-reference-app/procurement-or-approval-flows.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
