# Approvals

## GET /organizations/{organizationId}/approvals

> List approval flows

```json
{"openapi":"3.0.3","info":{"title":"Accounts","version":"v1"},"tags":[{"description":"Manage which actions require an approval process.","name":"organization_approvals"}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"parameters":{"cursor":{"name":"pageToken","description":"Pagination token that keeps of track of the current position in the list","in":"query","schema":{"type":"string"}},"limit":{"name":"limit","description":"Limits the number of results to return","in":"query","schema":{"type":"integer","minimum":1,"maximum":100,"default":10}},"direction":{"name":"reverse","description":"Order in which to retrieve the results","in":"query","schema":{"type":"boolean","default":false}},"approvalFlowStatus":{"in":"query","name":"status","required":false,"schema":{"default":"active","enum":["active","deleted"],"type":"string"}},"approvalFlowObjectType":{"in":"query","name":"objectType","required":false,"schema":{"$ref":"#/components/schemas/objectType"}},"approvalFlowObjectAction":{"in":"query","name":"objectAction","required":false,"schema":{"$ref":"#/components/schemas/objectAction"}},"approvalFlowTags":{"in":"query","name":"tags","required":false,"schema":{"type":"string"}}},"schemas":{"objectType":{"type":"string","format":"mrn","description":"The identifier of the object"},"objectAction":{"type":"string","enum":["create","update","delete"],"description":"The action performed on the object"},"ApprovalFlowList":{"type":"object","title":"ApprovalFlowList","properties":{"results":{"type":"array","items":{"$ref":"#/components/schemas/ApprovalFlow"}}},"required":["results"]},"ApprovalFlow":{"type":"object","title":"ApprovalFlow","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"organizationId":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"ownerId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"objectType":{"$ref":"#/components/schemas/objectType"},"objectAction":{"$ref":"#/components/schemas/objectAction"},"steps":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["any","all"]},"users":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"deprecated":true},"reviewers":{"type":"array","items":{"$ref":"#/components/schemas/approvalStepReviewer"},"minItems":1},"message":{"type":"string"}},"required":["type","users"]},"minItems":1},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/approvalFlowIdentifierTag"}}},"required":["id","ownerId","name","description","objectType","objectAction","steps","createdAt","updatedAt"]},"approvalStepReviewer":{"type":"object","title":"ApprovalStepReviewer","description":"Reference to an entity that can review the runs for this flow.","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user"]},"id":{"type":"string","format":"uuid"}},"required":["type","id"]},"approvalFlowIdentifierTag":{"type":"object","title":"ApprovalFlowIdentifierTag","description":"A tag that can be used to identify this flow.","additionalProperties":false,"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]},"responseBody":{"type":"object","title":"PaginatedList","description":"A list of results that supports pagination.","properties":{"nextPageToken":{"type":"string","description":"The token to fetch the next page of results. If empty, there are no more results to fetch."}}},"DetailedError":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Unique identifier for the error that occurred"},"message":{"type":"string","description":"Description of the error that occurred, aimed at API consumers"},"details":{"type":"object","description":"Detailed information on where the error exists, usually the field name on the request payload","additionalProperties":{"type":"array","description":"The error description for the specific detail","items":{"type":"string"}}}}}},"responses":{"invalidRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailedError"}}},"description":"Request validation failed"}}},"paths":{"/organizations/{organizationId}/approvals":{"get":{"operationId":"listOrganizationApprovalFlows","parameters":[{"$ref":"#/components/parameters/cursor"},{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/direction"},{"$ref":"#/components/parameters/approvalFlowStatus"},{"$ref":"#/components/parameters/approvalFlowObjectType"},{"$ref":"#/components/parameters/approvalFlowObjectAction"},{"$ref":"#/components/parameters/approvalFlowTags"}],"responses":{"200":{"content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/ApprovalFlowList"},{"$ref":"#/components/schemas/responseBody"}]}}},"description":"OK"},"422":{"$ref":"#/components/responses/invalidRequest"}},"summary":"List approval flows","tags":["organization_approvals"]}}}}
```

## POST /organizations/{organizationId}/approvals

> Create approval flow

```json
{"openapi":"3.0.3","info":{"title":"Accounts","version":"v1"},"tags":[{"description":"Manage which actions require an approval process.","name":"organization_approvals"}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"CreateApprovalFlow":{"type":"object","title":"CreateApprovalFlow","additionalProperties":false,"properties":{"name":{"type":"string"},"description":{"type":"string"},"objectType":{"$ref":"#/components/schemas/objectType"},"objectAction":{"$ref":"#/components/schemas/objectAction"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/approvalFlowIdentifierTag"}},"steps":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["any","all"]},"users":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"deprecated":true},"reviewers":{"type":"array","items":{"$ref":"#/components/schemas/approvalStepReviewer"},"minItems":1},"message":{"type":"string"}},"required":["type"]},"minItems":1}},"required":["name","description","objectType","objectAction","steps"]},"objectType":{"type":"string","format":"mrn","description":"The identifier of the object"},"objectAction":{"type":"string","enum":["create","update","delete"],"description":"The action performed on the object"},"approvalFlowIdentifierTag":{"type":"object","title":"ApprovalFlowIdentifierTag","description":"A tag that can be used to identify this flow.","additionalProperties":false,"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]},"approvalStepReviewer":{"type":"object","title":"ApprovalStepReviewer","description":"Reference to an entity that can review the runs for this flow.","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user"]},"id":{"type":"string","format":"uuid"}},"required":["type","id"]},"ApprovalFlow":{"type":"object","title":"ApprovalFlow","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"organizationId":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"ownerId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"objectType":{"$ref":"#/components/schemas/objectType"},"objectAction":{"$ref":"#/components/schemas/objectAction"},"steps":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["any","all"]},"users":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"deprecated":true},"reviewers":{"type":"array","items":{"$ref":"#/components/schemas/approvalStepReviewer"},"minItems":1},"message":{"type":"string"}},"required":["type","users"]},"minItems":1},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/approvalFlowIdentifierTag"}}},"required":["id","ownerId","name","description","objectType","objectAction","steps","createdAt","updatedAt"]},"Error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Unique identifier for the error that occurred"},"message":{"type":"string","description":"Description of the error that occurred, aimed at API consumers"}}},"DetailedError":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Unique identifier for the error that occurred"},"message":{"type":"string","description":"Description of the error that occurred, aimed at API consumers"},"details":{"type":"object","description":"Detailed information on where the error exists, usually the field name on the request payload","additionalProperties":{"type":"array","description":"The error description for the specific detail","items":{"type":"string"}}}}}},"responses":{"conflict":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The HTTP 409 Conflict response status code indicates a request conflict with current state of the target resource."},"invalidRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailedError"}}},"description":"Request validation failed"}}},"paths":{"/organizations/{organizationId}/approvals":{"post":{"operationId":"createOrganizationApprovalFlow","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateApprovalFlow"}}}},"responses":{"201":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalFlow"}}},"description":"OK"},"409":{"$ref":"#/components/responses/conflict"},"422":{"$ref":"#/components/responses/invalidRequest"}},"summary":"Create approval flow","tags":["organization_approvals"]}}}}
```

## GET /organizations/{organizationId}/approvals/{approvalId}

> Retrieve approval flow

```json
{"openapi":"3.0.3","info":{"title":"Accounts","version":"v1"},"tags":[{"description":"Manage which actions require an approval process.","name":"organization_approvals"}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"ApprovalFlow":{"type":"object","title":"ApprovalFlow","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"organizationId":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"ownerId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"objectType":{"$ref":"#/components/schemas/objectType"},"objectAction":{"$ref":"#/components/schemas/objectAction"},"steps":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["any","all"]},"users":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"deprecated":true},"reviewers":{"type":"array","items":{"$ref":"#/components/schemas/approvalStepReviewer"},"minItems":1},"message":{"type":"string"}},"required":["type","users"]},"minItems":1},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/approvalFlowIdentifierTag"}}},"required":["id","ownerId","name","description","objectType","objectAction","steps","createdAt","updatedAt"]},"objectType":{"type":"string","format":"mrn","description":"The identifier of the object"},"objectAction":{"type":"string","enum":["create","update","delete"],"description":"The action performed on the object"},"approvalStepReviewer":{"type":"object","title":"ApprovalStepReviewer","description":"Reference to an entity that can review the runs for this flow.","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user"]},"id":{"type":"string","format":"uuid"}},"required":["type","id"]},"approvalFlowIdentifierTag":{"type":"object","title":"ApprovalFlowIdentifierTag","description":"A tag that can be used to identify this flow.","additionalProperties":false,"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]},"Error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Unique identifier for the error that occurred"},"message":{"type":"string","description":"Description of the error that occurred, aimed at API consumers"}}}},"responses":{"notFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"}}},"paths":{"/organizations/{organizationId}/approvals/{approvalId}":{"get":{"operationId":"getOrganizationApprovalFlow","responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalFlow"}}},"description":"OK"},"404":{"$ref":"#/components/responses/notFound"}},"summary":"Retrieve approval flow","tags":["organization_approvals"]}}}}
```

## DELETE /organizations/{organizationId}/approvals/{approvalId}

> Delete approval flow

```json
{"openapi":"3.0.3","info":{"title":"Accounts","version":"v1"},"tags":[{"description":"Manage which actions require an approval process.","name":"organization_approvals"}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"responses":{"notFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"conflict":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The HTTP 409 Conflict response status code indicates a request conflict with current state of the target resource."}},"schemas":{"Error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Unique identifier for the error that occurred"},"message":{"type":"string","description":"Description of the error that occurred, aimed at API consumers"}}}}},"paths":{"/organizations/{organizationId}/approvals/{approvalId}":{"delete":{"operationId":"deleteOrganizationApprovalFlow","responses":{"204":{"description":"OK"},"404":{"$ref":"#/components/responses/notFound"},"409":{"$ref":"#/components/responses/conflict"}},"summary":"Delete approval flow","tags":["organization_approvals"]}}}}
```

## PATCH /organizations/{organizationId}/approvals/{approvalId}

> Update approval flow

```json
{"openapi":"3.0.3","info":{"title":"Accounts","version":"v1"},"tags":[{"description":"Manage which actions require an approval process.","name":"organization_approvals"}],"servers":[{"url":"https://api.bird.com","description":"Production API"}],"security":[{"accessKey":[]}],"components":{"securitySchemes":{"accessKey":{"description":"Uses the Authorization header: 'AccessKey ' followed by your access key token (e.g., 'Authorization: AccessKey AbCdEfGhIjKlMnOpQrStUvWxYzAbCdEfGhIj')","scheme":"AccessKey","type":"http"}},"schemas":{"UpdateApprovalFlow":{"type":"object","title":"UpdateApprovalFlow","additionalProperties":false,"properties":{"name":{"type":"string"},"description":{"type":"string"},"objectType":{"type":"string"},"objectAction":{"type":"string","enum":["create","update","delete"]},"steps":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["any","all"]},"users":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"deprecated":true},"reviewers":{"type":"array","items":{"$ref":"#/components/schemas/approvalStepReviewer"},"minItems":1},"message":{"type":"string"}},"required":["type"]},"minItems":1}}},"approvalStepReviewer":{"type":"object","title":"ApprovalStepReviewer","description":"Reference to an entity that can review the runs for this flow.","additionalProperties":false,"properties":{"type":{"type":"string","enum":["user"]},"id":{"type":"string","format":"uuid"}},"required":["type","id"]},"ApprovalFlow":{"type":"object","title":"ApprovalFlow","additionalProperties":false,"properties":{"id":{"type":"string","format":"uuid"},"organizationId":{"type":"string","format":"uuid"},"workspaceId":{"type":"string","format":"uuid"},"ownerId":{"type":"string","format":"uuid"},"name":{"type":"string"},"description":{"type":"string"},"objectType":{"$ref":"#/components/schemas/objectType"},"objectAction":{"$ref":"#/components/schemas/objectAction"},"steps":{"type":"array","items":{"type":"object","additionalProperties":false,"properties":{"type":{"type":"string","enum":["any","all"]},"users":{"type":"array","items":{"type":"string","format":"uuid"},"minItems":1,"deprecated":true},"reviewers":{"type":"array","items":{"$ref":"#/components/schemas/approvalStepReviewer"},"minItems":1},"message":{"type":"string"}},"required":["type","users"]},"minItems":1},"createdAt":{"type":"string","format":"date-time"},"updatedAt":{"type":"string","format":"date-time"},"tags":{"type":"array","items":{"$ref":"#/components/schemas/approvalFlowIdentifierTag"}}},"required":["id","ownerId","name","description","objectType","objectAction","steps","createdAt","updatedAt"]},"objectType":{"type":"string","format":"mrn","description":"The identifier of the object"},"objectAction":{"type":"string","enum":["create","update","delete"],"description":"The action performed on the object"},"approvalFlowIdentifierTag":{"type":"object","title":"ApprovalFlowIdentifierTag","description":"A tag that can be used to identify this flow.","additionalProperties":false,"properties":{"key":{"type":"string"},"value":{"type":"string"}},"required":["key","value"]},"Error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Unique identifier for the error that occurred"},"message":{"type":"string","description":"Description of the error that occurred, aimed at API consumers"}}},"DetailedError":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string","description":"Unique identifier for the error that occurred"},"message":{"type":"string","description":"Description of the error that occurred, aimed at API consumers"},"details":{"type":"object","description":"Detailed information on where the error exists, usually the field name on the request payload","additionalProperties":{"type":"array","description":"The error description for the specific detail","items":{"type":"string"}}}}}},"responses":{"notFound":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"Resource not found"},"conflict":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"description":"The HTTP 409 Conflict response status code indicates a request conflict with current state of the target resource."},"invalidRequest":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DetailedError"}}},"description":"Request validation failed"}}},"paths":{"/organizations/{organizationId}/approvals/{approvalId}":{"patch":{"operationId":"updateOrganizationApprovalFlow","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateApprovalFlow"}}}},"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApprovalFlow"}}},"description":"OK"},"404":{"$ref":"#/components/responses/notFound"},"409":{"$ref":"#/components/responses/conflict"},"422":{"$ref":"#/components/responses/invalidRequest"}},"summary":"Update approval flow","tags":["organization_approvals"]}}}}
```


---

# Agent Instructions: 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:

```
GET https://docs.bird.com/api/accounts-api/api-reference/organizations/approvals.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
