Skip to content
Ordinal
Esc
↑↓navigate↵open⌘Jpreview

Create approval requests

Create one or more approval requests for a post

POST/approvals
Authorization
AuthorizationBearer token · headerrequired

API key authentication. Generate an API key from your workspace settings.

Request body
requiredapplication/json
postIdstring<uuid>required
approvalsobject[]required
Show properties
Array of object
userIdstring<uuid>required
messagestring
dueDatestring<date-time>
isBlockingboolean
default: false
Responses
200

Approvals created

createdApprovalsApproval[]
Show properties
Array of Approval
idstring<uuid>
statusstring
Allowed:RequestedApproved
isBlockingboolean
messagestring | null
dueDatestring<date-time> | null
approvedAtstring<date-time> | null
createdAtstring<date-time>
userApprovalUser
Show properties
idstring<uuid>
emailstring<email>
firstNamestring | null
lastNamestring | null
createdAtstring<date-time>
requestedByApprovalUser
Show properties
idstring<uuid>
emailstring<email>
firstNamestring | null
lastNamestring | null
createdAtstring<date-time>
existingApprovalsApproval[]
Show properties
Array of Approval
idstring<uuid>
statusstring
Allowed:RequestedApproved
isBlockingboolean
messagestring | null
dueDatestring<date-time> | null
approvedAtstring<date-time> | null
createdAtstring<date-time>
userApprovalUser
Show properties
idstring<uuid>
emailstring<email>
firstNamestring | null
lastNamestring | null
createdAtstring<date-time>
requestedByApprovalUser
Show properties
idstring<uuid>
emailstring<email>
firstNamestring | null
lastNamestring | null
createdAtstring<date-time>
400

Bad Request - Invalid input parameters

codestring
messagestring
dataobject
Show properties
errorsobject
401

Unauthorized - Missing or invalid API key

codestring
messagestring
404

Not Found - Resource does not exist

codestring
messagestring
Try it
Server
Authorization
Bodyapplication/json
Request
curl -X POST 'https://app.tryordinal.com/api/v1/approvals' \
  -H 'Authorization: Bearer YOUR_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
  "postId": "550e8400-e29b-41d4-a716-446655440000",
  "approvals": [
    {
      "userId": "550e8400-e29b-41d4-a716-446655440011",
      "message": "Please review the messaging before we publish",
      "dueDate": "2026-01-14T17:00:00.000Z",
      "isBlocking": true
    }
  ]
}'
Response
{
  "createdApprovals": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "status": "Requested",
      "isBlocking": true,
      "message": "string",
      "dueDate": "2019-08-24T14:15:22Z",
      "approvedAt": "2019-08-24T14:15:22Z",
      "createdAt": "2019-08-24T14:15:22Z",
      "user": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "email": "user@example.com",
        "firstName": "string",
        "lastName": "string",
        "createdAt": "2019-08-24T14:15:22Z"
      },
      "requestedBy": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "email": "user@example.com",
        "firstName": "string",
        "lastName": "string",
        "createdAt": "2019-08-24T14:15:22Z"
      }
    }
  ],
  "existingApprovals": [
    {
      "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
      "status": "Requested",
      "isBlocking": true,
      "message": "string",
      "dueDate": "2019-08-24T14:15:22Z",
      "approvedAt": "2019-08-24T14:15:22Z",
      "createdAt": "2019-08-24T14:15:22Z",
      "user": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "email": "user@example.com",
        "firstName": "string",
        "lastName": "string",
        "createdAt": "2019-08-24T14:15:22Z"
      },
      "requestedBy": {
        "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
        "email": "user@example.com",
        "firstName": "string",
        "lastName": "string",
        "createdAt": "2019-08-24T14:15:22Z"
      }
    }
  ]
}