Sourced
llms.txt
View Markdown

Members ยท version 0.1.0

Invite a workspace member

POST/api/members

Request

cURL
curl -X POST 'https://sourced.sh/api/members' \
  -H 'Authorization: Bearer $SOURCED_API_KEY' \
  -H 'Content-Type: application/json' \
  -d '{}'
TypeScript
const response = await fetch("https://sourced.sh/api/members", {
  method: "POST",
  headers: {
    Authorization: `Bearer ${process.env.SOURCED_API_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({}),
});
const data = await response.json();
Python
import os
import requests

response = requests.request(
    "POST",
    "https://sourced.sh/api/members",
    headers={"Authorization": f"Bearer {os.environ['SOURCED_API_KEY']}"},
    json={},
)
data = response.json()

Request body

Required.

application/json

Schema
type: object
required: email
properties:
  email (required): string
  role: string enum owner | admin | editor | viewer

Responses

201

Member invite created.

application/json

Schema
type: object
required: member
properties:
  member (required): Member
    Member:
      type: object
      required: id, email, role, status, createdAt
      properties:
        id (required): string
        orgId: string
        userId: string
        email (required): string
        role (required): string enum owner | admin | editor | viewer
        status (required): string enum active | invited | removed
        invitedByUserId: string
        createdAt (required): string
        updatedAt: string
  invitationDelivery: MemberInvitationDelivery
    MemberInvitationDelivery:
      type: object
      required: provider, status
      properties:
        provider (required): string enum sourced | clerk
          Delivery system that handled, or intentionally did not handle, the external invite.
        status (required): string enum sent | failed | record_only
          Whether a Clerk organization invite was sent, failed after saving the Sourced access record, or was intentionally saved as a Sourced-only access record.
        reason: string
          Machine-readable reason when delivery is record-only or failed.
        message: string
          Sanitized provider error message when delivery fails.
        invitationId: string
          Clerk invitation id when delivery succeeds.
        role: string enum org:admin | org:member
          Clerk organization role used for a sent invitation.

400

401

403

Was this helpful?