Organization Knocks

List organization knocks

get

Gets the list of all knock requests for the specified organization

Path parameters
organisationIdstring · uuidRequired

Unique ID of the organization

Example: 123e4567-e89b-12d3-a456-426614174000
Query parameters
pageinteger · min: 1Optional

Page number for pagination

Default: 1Example: 1
limitinteger · min: 1 · max: 100Optional

Number of items per page

Default: 20Example: 20
statusstring · enumOptional

Filter by knock status

Example: pendingPossible values:
typestring · enumOptional

Filter by knock type

Example: memberPossible values:
Responses
200

List of knocks retrieved successfully

application/json
get
GET /memberships/orgs/{organisationId}/knocks HTTP/1.1
Host: api.example.com
Accept: */*
{
  "data": [
    {
      "id": "knock123-def6-7890-abcd-ef1234567890",
      "type": "member",
      "status": "pending",
      "organisationId": "123e4567-e89b-12d3-a456-426614174000",
      "requesterEmail": "jane.doe@example.com",
      "requesterInfo": {
        "firstName": "Jane",
        "lastName": "Doe",
        "message": "I would like to join your organization as a frontend developer"
      },
      "details": {
        "member": {
          "requestedRole": "member",
          "requestedPermissions": [
            "read",
            "write"
          ]
        }
      },
      "createdAt": "2024-01-15T10:30:00Z"
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 1,
    "totalPages": 1,
    "hasNext": false,
    "hasPrev": false
  }
}

Create a knock request

post

Creates a new knock request to join the organization, collective, or team

Path parameters
organisationIdstring · uuidRequired

Unique ID of the organization

Example: 123e4567-e89b-12d3-a456-426614174000
Body
typestring · enumRequired

Type of knock request

Example: memberPossible values:
requesterEmailstring · emailRequired

Email of the person making the knock request

Example: jane.doe@example.com
Responses
201

Knock request created successfully

application/json
post
POST /memberships/orgs/{organisationId}/knocks HTTP/1.1
Host: api.example.com
Content-Type: application/json
Accept: */*
Content-Length: 332

{
  "type": "member",
  "requesterEmail": "jane.doe@example.com",
  "requesterInfo": {
    "firstName": "Jane",
    "lastName": "Doe",
    "message": "I'm a frontend developer with 5 years of experience. I would love to contribute to your organization's engineering team."
  },
  "details": {
    "member": {
      "requestedRole": "member",
      "requestedPermissions": [
        "read",
        "write"
      ]
    }
  }
}
{
  "id": "knock123-def6-7890-abcd-ef1234567890",
  "type": "member",
  "status": "pending",
  "organisationId": "123e4567-e89b-12d3-a456-426614174000",
  "requesterEmail": "jane.doe@example.com",
  "requesterInfo": {
    "firstName": "Jane",
    "lastName": "Doe",
    "message": "I'm a frontend developer with 5 years of experience. I would love to contribute to your organization's engineering team."
  },
  "details": {
    "member": {
      "requestedRole": "member",
      "requestedPermissions": [
        "read",
        "write"
      ]
    }
  },
  "createdAt": "2024-01-15T10:30:00Z"
}

Get knock information

get

Gets the information of a specific knock request

Path parameters
organisationIdstring · uuidRequired

Unique ID of the organization

Example: 123e4567-e89b-12d3-a456-426614174000
knockIdstring · uuidRequired

Unique ID of the knock

Example: knock123-def6-7890-abcd-ef1234567890
Responses
200

Knock information retrieved successfully

application/json
get
GET /memberships/orgs/{organisationId}/knocks/{knockId} HTTP/1.1
Host: api.example.com
Accept: */*
{
  "id": "knock123-def6-7890-abcd-ef1234567890",
  "type": "team",
  "status": "pending",
  "organisationId": "123e4567-e89b-12d3-a456-426614174000",
  "requesterEmail": "alex.tech@example.com",
  "requesterInfo": {
    "firstName": "Alex",
    "lastName": "Martinez",
    "message": "I'm a senior engineer with team leadership experience."
  },
  "details": {
    "team": {
      "teamId": "team123-def6-7890-abcd-ef1234567890",
      "requestedRole": "lead",
      "requestedPermissions": [
        "read",
        "write",
        "admin"
      ]
    }
  },
  "createdAt": "2024-01-15T10:30:00Z"
}

Update knock information

put

Updates the information of a specific knock request (only pending knocks)

Path parameters
organisationIdstring · uuidRequired

Unique ID of the organization

Example: 123e4567-e89b-12d3-a456-426614174000
knockIdstring · uuidRequired

Unique ID of the knock

Example: knock123-def6-7890-abcd-ef1234567890
Body
Responses
200

Knock updated successfully

application/json
put
PUT /memberships/orgs/{organisationId}/knocks/{knockId} HTTP/1.1
Host: api.example.com
Content-Type: application/json
Accept: */*
Content-Length: 189

{
  "requesterInfo": {
    "message": "Updated: I'm a senior engineer with 8 years of experience and team leadership background. I'm particularly interested in contributing to your AI initiatives."
  }
}
{
  "id": "knock123-def6-7890-abcd-ef1234567890",
  "type": "team",
  "status": "pending",
  "organisationId": "123e4567-e89b-12d3-a456-426614174000",
  "requesterEmail": "alex.tech@example.com",
  "requesterInfo": {
    "firstName": "Alex",
    "lastName": "Martinez",
    "message": "Updated: I'm a senior engineer with 8 years of experience and team leadership background."
  },
  "details": {
    "team": {
      "teamId": "team123-def6-7890-abcd-ef1234567890",
      "requestedRole": "lead",
      "requestedPermissions": [
        "read",
        "write",
        "admin"
      ]
    }
  },
  "createdAt": "2024-01-15T10:30:00Z",
  "updatedAt": "2024-01-16T14:20:00Z"
}

Cancel a knock request

delete

Cancels a specific knock request (only pending knocks)

Path parameters
organisationIdstring · uuidRequired

Unique ID of the organization

Example: 123e4567-e89b-12d3-a456-426614174000
knockIdstring · uuidRequired

Unique ID of the knock to cancel

Example: knock123-def6-7890-abcd-ef1234567890
Responses
200

Knock cancelled successfully

application/json
delete
DELETE /memberships/orgs/{organisationId}/knocks/{knockId} HTTP/1.1
Host: api.example.com
Accept: */*
{
  "success": true,
  "message": "Knock request successfully cancelled"
}