# Factify API ## Docs - [Create an API key](https://developers.factify.com/api-reference/apikeys/create-an-api-key.md): Creates a new API key for the caller's organization. The full secret is returned exactly once in the response and cannot be retrieved later — store it securely on receipt. - [List API keys](https://developers.factify.com/api-reference/apikeys/list-api-keys.md): Lists API keys for the caller's organization. Secrets are never returned — use the `prefix` field to identify a key in the UI. - [Revoke an API key](https://developers.factify.com/api-reference/apikeys/revoke-an-api-key.md): Revokes an API key, immediately preventing it from being used for authentication. Revocation is permanent — to restore access, create a new key. - [Accept an invitation](https://developers.factify.com/api-reference/invitations/accept-an-invitation.md): Accepts a pending invitation and adds the authenticated user as a member of the organization with the invited role. - [Invite a member by email](https://developers.factify.com/api-reference/invitations/invite-a-member-by-email.md): Creates an invitation for the given email and role. Invitations expire 7 days after creation. - [List pending invitations](https://developers.factify.com/api-reference/invitations/list-pending-invitations.md): Lists pending invitations for the caller's current organization. - [Resend an invitation email](https://developers.factify.com/api-reference/invitations/resend-an-invitation-email.md): Resends the invitation email to the recipient. Useful when the original email was lost or close to expiring. Only pending, non-expired invitations can be resent. - [Revoke an invitation](https://developers.factify.com/api-reference/invitations/revoke-an-invitation.md): Revokes a pending invitation. Any link previously sent to the recipient becomes invalid. - [List organization members](https://developers.factify.com/api-reference/members/list-organization-members.md): Lists members of the caller's current organization. - [Remove a member](https://developers.factify.com/api-reference/members/remove-a-member.md): Removes a member from the organization. Returns 422 if the user is the last remaining owner. - [Update a member's role](https://developers.factify.com/api-reference/members/update-a-members-role.md): Updates a member's role within the organization. Returns 422 if the change would demote the last remaining owner. - [Create an organization](https://developers.factify.com/api-reference/organizations/create-an-organization.md): Creates a new organization with the authenticated user as the first owner. - [Get the current organization](https://developers.factify.com/api-reference/organizations/get-the-current-organization.md): Returns the organization the caller's token is scoped to — the owning organization for API-key callers, the selected organization for user-session callers. - [List organizations](https://developers.factify.com/api-reference/organizations/list-organizations.md): Lists organizations the authenticated user belongs to (as owner, admin, or member). - [Update the organization](https://developers.factify.com/api-reference/organizations/update-the-organization.md): Updates the caller's current organization. Only the name is mutable via this endpoint. - [Get plan](https://developers.factify.com/api-reference/plans/get-plan.md): Returns the plan with inline claim_slots and submissions. body_md_resolved is populated only after the plan is locked. - [List plans](https://developers.factify.com/api-reference/plans/list-plans.md) - [Lock plan](https://developers.factify.com/api-reference/plans/lock-plan.md): Locks the plan, computing and storing body_md_resolved from bound claims. Pure-render path — does NOT invoke any workflow body. Execution lives separately at POST /v1/plans/{planId}/run (Runtime layer) and requires a prior /lock; the plan + bound claims are immutable after lock. - [Open plan](https://developers.factify.com/api-reference/plans/open-plan.md): Instantiate a new plan from a workflow. - [Get document quota and usage](https://developers.factify.com/api-reference/usage/get-document-quota-and-usage.md): Returns the document quota for the caller's organisation: the limit, the current document count, the remaining balance, and the next reset timestamp. - [Get usage and quota for the caller's active organisation](https://developers.factify.com/api-reference/usage/get-usage-and-quota-for-the-callers-active-organisation.md): Returns current usage and quota for the authenticated user's currently-active organisation. Requires a user-bearing auth method (session/JWT/OAuth); API-key callers — which carry no user identity — receive 403. - [Get current user](https://developers.factify.com/api-reference/users/get-current-user.md): Returns the authenticated user's profile. - [Update current user profile](https://developers.factify.com/api-reference/users/update-current-user-profile.md): Updates the authenticated user's profile. Uses RFC 7396 (JSON Merge Patch) semantics: omitted fields are left unchanged. `display_name` is required on every request and cannot be cleared. - [Create workflow](https://developers.factify.com/api-reference/workflows/create-workflow.md) - [Get workflow](https://developers.factify.com/api-reference/workflows/get-workflow.md): Returns the active revision if one exists, otherwise the draft. - [List workflows](https://developers.factify.com/api-reference/workflows/list-workflows.md) - [Trash workflow](https://developers.factify.com/api-reference/workflows/trash-workflow.md): Soft-deletes the workflow so it no longer appears in active workflow lists. This is exposed in the app as "Trash process"; restore and include-trashed listing are not available yet. - [Invite Organization Member](https://developers.factify.com/examples/invite-member.md): Send invitations to add members to your organization. - [Authentication](https://developers.factify.com/guides/authentication.md): Learn how to authenticate with the Factify API using API keys and Bearer tokens. - [Error Handling](https://developers.factify.com/guides/error-handling.md): Handle API errors gracefully with structured error responses. - [Rate Limiting](https://developers.factify.com/guides/rate-limiting.md): Understand API rate limits and how the SDK handles them automatically. - [Factify Developer Portal](https://developers.factify.com/introduction.md): APIs for organization management, workflow orchestration, usage controls, and agent-backed extraction. ## OpenAPI Specs - [openapi](https://developers.factify.com/openapi.json) - [openapi-with-samples](https://developers.factify.com/openapi-with-samples.json)