From 9b890871d02cda301f52a74312609a8b63aa7d84 Mon Sep 17 00:00:00 2001 From: mxp-qk <56259084+mxp-qk@users.noreply.github.com> Date: Sun, 22 Mar 2026 21:48:52 +0100 Subject: [PATCH 1/2] fix: CreateAuthorizationResourceOptions type definition --- src/authorization/interfaces/authorization-resource.interface.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/src/authorization/interfaces/authorization-resource.interface.ts b/src/authorization/interfaces/authorization-resource.interface.ts index cc75a5c80..51cfc6d0f 100644 --- a/src/authorization/interfaces/authorization-resource.interface.ts +++ b/src/authorization/interfaces/authorization-resource.interface.ts @@ -42,6 +42,7 @@ export interface CreateOptionsWithParentExternalId extends BaseCreateAuthorizati } export type CreateAuthorizationResourceOptions = + | BaseCreateAuthorizationResourceOptions | CreateOptionsWithParentResourceId | CreateOptionsWithParentExternalId; From d197ce54bbad6b30c9cd43383a1eb3e898e4b6d5 Mon Sep 17 00:00:00 2001 From: Nick Nisi Date: Tue, 24 Mar 2026 11:36:50 -0500 Subject: [PATCH 2/2] test: add test for createResource without parent Covers the no-parent case enabled by the CreateAuthorizationResourceOptions type fix, verifying no parent fields are sent in the serialized payload. --- src/authorization/authorization.spec.ts | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/authorization/authorization.spec.ts b/src/authorization/authorization.spec.ts index ff27f8ae4..5679caa5f 100644 --- a/src/authorization/authorization.spec.ts +++ b/src/authorization/authorization.spec.ts @@ -706,6 +706,28 @@ describe('Authorization', () => { }); describe('createResource', () => { + it('creates a resource without a parent', async () => { + fetchOnce(authorizationResourceFixture, { status: 201 }); + + await workos.authorization.createResource({ + organizationId: testOrgId, + resourceTypeSlug: 'document', + externalId: 'doc-456', + name: 'Q4 Budget Report', + }); + + const body = fetchBody(); + expect(body).toEqual({ + organization_id: testOrgId, + resource_type_slug: 'document', + external_id: 'doc-456', + name: 'Q4 Budget Report', + }); + expect(body).not.toHaveProperty('parent_resource_id'); + expect(body).not.toHaveProperty('parent_resource_external_id'); + expect(body).not.toHaveProperty('parent_resource_type_slug'); + }); + it('creates an authorization resource with all fields', async () => { fetchOnce(authorizationResourceFixture, { status: 201 });