> For the complete documentation index, see [llms.txt](https://docs.archera.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.archera.ai/api-reference/partner-api/partners.md).

# Partners

partners api automation

## /cloudformation\_template

> Generates CloudFormation template for AWS integration. Creates the necessary IAM role and policy template for setting up AWS access.

```json
{"openapi":"3.1.0","info":{"title":"Archera.ai Channel Partner API","version":"v1.0.0"},"tags":[{"name":"partners","description":"partners api automation"}],"paths":{"/v2/org/{org_id}/partners/onboarding/aws/cloudformation_template":{"get":{"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CloudFormation"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"default":{"$ref":"#/components/responses/DEFAULT_ERROR"}},"tags":["partners"],"summary":"/cloudformation_template","description":"Generates CloudFormation template for AWS integration. Creates the necessary IAM role and policy template for setting up AWS access."}}},"components":{"schemas":{"CloudFormation":{"type":"object","properties":{"template":{"type":"object","additionalProperties":{}}},"additionalProperties":false},"ApiErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"detail":{},"code":{"type":["string","null"]},"url":{"type":["string","null"]},"timestamp":{"type":"string"},"type":{"type":"string"}},"required":["message","timestamp","type"]},"Error":{"type":"object","properties":{"code":{"type":"integer","description":"Error code"},"status":{"type":"string","description":"Error name"},"message":{"type":"string","description":"Error message"},"errors":{"type":"object","description":"Errors","additionalProperties":{}}},"additionalProperties":false}},"responses":{"DEFAULT_ERROR":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## /launch-stack-url

> Generates AWS CloudFormation launch stack URL. Creates a pre-configured URL to deploy the CloudFormation stack in the AWS console.

```json
{"openapi":"3.1.0","info":{"title":"Archera.ai Channel Partner API","version":"v1.0.0"},"tags":[{"name":"partners","description":"partners api automation"}],"paths":{"/v2/org/{org_id}/partners/onboarding/aws/launch-stack-url":{"get":{"parameters":[{"in":"query","name":"read_only","schema":{"type":"boolean","default":false},"required":false}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/LaunchStackUrls"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"$ref":"#/components/responses/UNPROCESSABLE_CONTENT"},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"default":{"$ref":"#/components/responses/DEFAULT_ERROR"}},"tags":["partners"],"summary":"/launch-stack-url","description":"Generates AWS CloudFormation launch stack URL. Creates a pre-configured URL to deploy the CloudFormation stack in the AWS console."}}},"components":{"schemas":{"LaunchStackUrls":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"additionalProperties":false},"ApiErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"detail":{},"code":{"type":["string","null"]},"url":{"type":["string","null"]},"timestamp":{"type":"string"},"type":{"type":"string"}},"required":["message","timestamp","type"]},"Error":{"type":"object","properties":{"code":{"type":"integer","description":"Error code"},"status":{"type":"string","description":"Error name"},"message":{"type":"string","description":"Error message"},"errors":{"type":"object","description":"Errors","additionalProperties":{}}},"additionalProperties":false}},"responses":{"UNPROCESSABLE_CONTENT":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"DEFAULT_ERROR":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## /verify

> Runs AWS onboarding verification process. Creates a new CUR or uses an existing CUR and verifies AWS integration setup and returns validation status for all required features.

```json
{"openapi":"3.1.0","info":{"title":"Archera.ai Channel Partner API","version":"v1.0.0"},"tags":[{"name":"partners","description":"partners api automation"}],"paths":{"/v2/org/{org_id}/partners/onboarding/aws/verify":{"post":{"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Validation"}}}}},"400":{"description":"The customer's AWS setup needs to change. `message` and `code` are both safe to show them. Codes:\n\n- `cloud_account_already_connected` — this AWS account is already onboarded, in this org or another\n- `no_management_account` — the account supplied is a subaccount, not a management account\n- `cannot_assume_role` / `invalid_credentials` — the IAM role could not be assumed; usually created in the wrong account\n- `no_role_policy` — the role's attached policy could not be read","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"$ref":"#/components/responses/UNPROCESSABLE_CONTENT"},"500":{"description":"An unexpected failure on Archera's side. `message` is generic and no `code` is returned; retry, then contact Archera support.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"default":{"$ref":"#/components/responses/DEFAULT_ERROR"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/VerificationArgs"}}}},"tags":["partners"],"summary":"/verify","description":"Runs AWS onboarding verification process. Creates a new CUR or uses an existing CUR and verifies AWS integration setup and returns validation status for all required features."}}},"components":{"schemas":{"Validation":{"type":"object","properties":{"feature":{"type":"string"},"status":{"type":"string","enum":["available","warning","missing","unknown"]}},"additionalProperties":false},"ApiErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"detail":{},"code":{"type":["string","null"]},"url":{"type":["string","null"]},"timestamp":{"type":"string"},"type":{"type":"string"}},"required":["message","timestamp","type"]},"Error":{"type":"object","properties":{"code":{"type":"integer","description":"Error code"},"status":{"type":"string","description":"Error name"},"message":{"type":"string","description":"Error message"},"errors":{"type":"object","description":"Errors","additionalProperties":{}}},"additionalProperties":false},"VerificationArgs":{"type":"object","properties":{"onboarding_id":{"type":"string","pattern":"[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\\Z"},"account_id":{"type":"string"},"read_only":{"type":"boolean","default":false},"existing_cur":{"$ref":"#/components/schemas/ExistingCUR"}},"additionalProperties":false},"ExistingCUR":{"type":"object","properties":{"region":{"type":"string"},"bucket":{"type":"string"},"prefix":{"type":"string"},"report_name":{"type":"string"}},"required":["bucket","prefix","region","report_name"],"additionalProperties":false}},"responses":{"UNPROCESSABLE_CONTENT":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"DEFAULT_ERROR":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## /auth-url

> Generates Azure authentication URL for onboarding. Creates or updates Azure onboarding record with tenant and subscription details, then returns the auth URL.

```json
{"openapi":"3.1.0","info":{"title":"Archera.ai Channel Partner API","version":"v1.0.0"},"tags":[{"name":"partners","description":"partners api automation"}],"paths":{"/v2/org/{org_id}/partners/onboarding/azure/auth-url":{"get":{"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AzureAuthUrlResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"$ref":"#/components/responses/UNPROCESSABLE_CONTENT"},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"default":{"$ref":"#/components/responses/DEFAULT_ERROR"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AzureAuthUrlArgs"}}}},"tags":["partners"],"summary":"/auth-url","description":"Generates Azure authentication URL for onboarding. Creates or updates Azure onboarding record with tenant and subscription details, then returns the auth URL."}}},"components":{"schemas":{"AzureAuthUrlResponse":{"type":"object","properties":{"url":{"type":"string"}},"required":["url"],"additionalProperties":false},"ApiErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"detail":{},"code":{"type":["string","null"]},"url":{"type":["string","null"]},"timestamp":{"type":"string"},"type":{"type":"string"}},"required":["message","timestamp","type"]},"Error":{"type":"object","properties":{"code":{"type":"integer","description":"Error code"},"status":{"type":"string","description":"Error name"},"message":{"type":"string","description":"Error message"},"errors":{"type":"object","description":"Errors","additionalProperties":{}}},"additionalProperties":false},"AzureAuthUrlArgs":{"type":"object","properties":{"azure_tenant_id":{"type":"string"},"azure_subscription_id":{"type":"string"},"read_only":{"type":"boolean","default":false,"description":"Onboard without purchase permissions. The integration can read cost data and existing commitments, but cannot buy or exchange them."}},"required":["azure_subscription_id","azure_tenant_id"],"additionalProperties":false}},"responses":{"UNPROCESSABLE_CONTENT":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"DEFAULT_ERROR":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## /verify

> Runs Azure onboarding verification process. Executes the complete onboarding workflow and returns validation results for all features.

```json
{"openapi":"3.1.0","info":{"title":"Archera.ai Channel Partner API","version":"v1.0.0"},"tags":[{"name":"partners","description":"partners api automation"}],"paths":{"/v2/org/{org_id}/partners/onboarding/azure/verify":{"post":{"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/Validation"}}}}},"400":{"description":"The customer's Azure setup needs to change. `message` and `code` are both safe to show them; several name the exact permission to grant and link our prerequisites checklist. Codes:\n\n- `tenant_already_connected` — another integration in this org already uses this Azure tenant\n- `CUSTOM_ROLE_PERMISSION_DENIED` — custom role definitions are not enabled in Entra ID\n- `TENANT_ROLE_ASSIGNMENT_FAILED` — the authorizing account lacks User Access Administrator at the root management group\n- `AADSTS7000215` / `AADSTS7000222` — the Archera app's client secret is invalid or expired","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"An unexpected failure on Archera's side. `message` is generic and no `code` is returned; retry, then contact Archera support.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"default":{"$ref":"#/components/responses/DEFAULT_ERROR"}},"tags":["partners"],"summary":"/verify","description":"Runs Azure onboarding verification process. Executes the complete onboarding workflow and returns validation results for all features."}}},"components":{"schemas":{"Validation":{"type":"object","properties":{"feature":{"type":"string"},"status":{"type":"string","enum":["available","warning","missing","unknown"]}},"additionalProperties":false},"ApiErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"detail":{},"code":{"type":["string","null"]},"url":{"type":["string","null"]},"timestamp":{"type":"string"},"type":{"type":"string"}},"required":["message","timestamp","type"]},"Error":{"type":"object","properties":{"code":{"type":"integer","description":"Error code"},"status":{"type":"string","description":"Error name"},"message":{"type":"string","description":"Error message"},"errors":{"type":"object","description":"Errors","additionalProperties":{}}},"additionalProperties":false}},"responses":{"DEFAULT_ERROR":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## /cli-script

> Returns the \`az\` commands a customer runs to grant Archera access without a tenant-wide consent prompt. Use this instead of /auth-url when the customer will not authorize the Archera enterprise app. Call /verify once they have run it.

```json
{"openapi":"3.1.0","info":{"title":"Archera.ai Channel Partner API","version":"v1.0.0"},"tags":[{"name":"partners","description":"partners api automation"}],"paths":{"/v2/org/{org_id}/partners/onboarding/azure/cli-script":{"get":{"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AzureCliScriptResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"$ref":"#/components/responses/UNPROCESSABLE_CONTENT"},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"default":{"$ref":"#/components/responses/DEFAULT_ERROR"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/AzureCliScriptArgs"}}}},"tags":["partners"],"summary":"/cli-script","description":"Returns the `az` commands a customer runs to grant Archera access without a tenant-wide consent prompt. Use this instead of /auth-url when the customer will not authorize the Archera enterprise app. Call /verify once they have run it."}}},"components":{"schemas":{"AzureCliScriptResponse":{"type":"object","properties":{"script":{"type":"string"}},"required":["script"],"additionalProperties":false},"ApiErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"detail":{},"code":{"type":["string","null"]},"url":{"type":["string","null"]},"timestamp":{"type":"string"},"type":{"type":"string"}},"required":["message","timestamp","type"]},"Error":{"type":"object","properties":{"code":{"type":"integer","description":"Error code"},"status":{"type":"string","description":"Error name"},"message":{"type":"string","description":"Error message"},"errors":{"type":"object","description":"Errors","additionalProperties":{}}},"additionalProperties":false},"AzureCliScriptArgs":{"type":"object","properties":{"azure_tenant_id":{"type":"string"},"azure_subscription_id":{"type":"string"},"read_only":{"type":"boolean","description":"Render the script without purchase permissions. The integration can read cost data and existing commitments, but cannot buy or exchange them."},"azure_resource_group":{"type":"string","pattern":"^[\\w().-]+(?<!\\.)$"},"azure_storage_account":{"type":"string","pattern":"^[a-z0-9]{3,24}$"},"azure_blob_container":{"type":"string","pattern":"^[a-z0-9](?!.*--)[a-z0-9-]{1,61}[a-z0-9]$"}},"required":["azure_subscription_id","azure_tenant_id","read_only"],"additionalProperties":false}},"responses":{"UNPROCESSABLE_CONTENT":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"DEFAULT_ERROR":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## /register\_child

> \*\*Legacy\*\* - use \*\*POST \[\`/partners/\<uuid\_str:partner\_org\_id>/orgs\`]\(#tag/Organizations/paths/\~1v2\~1partners\~1{partner\_org\_id}\~1orgs/post)\*\* instead. This endpoint will be discontinued soon.\
> \
> Registers a new child organization under the channel partner. Creates the organization, sets up user memberships, and establishes the partnership relationship.

```json
{"openapi":"3.1.0","info":{"title":"Archera.ai Channel Partner API","version":"v1.0.0"},"tags":[{"name":"partners","description":"partners api automation"}],"paths":{"/v2/org/{org_id}/partners/onboarding/register_child":{"post":{"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerRegisterOrgResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"$ref":"#/components/responses/UNPROCESSABLE_CONTENT"},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"default":{"$ref":"#/components/responses/DEFAULT_ERROR"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerRegisterOrg"}}}},"tags":["partners"],"summary":"/register_child","description":"**Legacy** - use **POST [`/partners/<uuid_str:partner_org_id>/orgs`](#tag/Organizations/paths/~1v2~1partners~1{partner_org_id}~1orgs/post)** instead. This endpoint will be discontinued soon.\n\nRegisters a new child organization under the channel partner. Creates the organization, sets up user memberships, and establishes the partnership relationship.","deprecated":true}}},"components":{"schemas":{"PartnerRegisterOrgResponse":{"type":"object","properties":{"org_id":{"type":"string"}},"additionalProperties":false},"ApiErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"detail":{},"code":{"type":["string","null"]},"url":{"type":["string","null"]},"timestamp":{"type":"string"},"type":{"type":"string"}},"required":["message","timestamp","type"]},"Error":{"type":"object","properties":{"code":{"type":"integer","description":"Error code"},"status":{"type":"string","description":"Error name"},"message":{"type":"string","description":"Error message"},"errors":{"type":"object","description":"Errors","additionalProperties":{}}},"additionalProperties":false},"PartnerRegisterOrg":{"type":"object","properties":{"company":{"type":"string","minLength":1,"maxLength":255,"description":"Name of the child organization. At most 255 characters, and unique across all Archera organizations; a name already in use returns 409. The stored name gains a ' c/o <partner>' suffix, which also counts towards the 255-character limit."},"labra_subscription_id":{"type":"string"},"email":{"type":["string","null"],"format":"email","default":null,"maxLength":255}},"required":["company"],"additionalProperties":false}},"responses":{"UNPROCESSABLE_CONTENT":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"DEFAULT_ERROR":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## /start

> Starts the onboarding process for an organization. Creates or retrieves an onboarding record and sets the provider to AWS.

```json
{"openapi":"3.1.0","info":{"title":"Archera.ai Channel Partner API","version":"v1.0.0"},"tags":[{"name":"partners","description":"partners api automation"}],"paths":{"/v2/org/{org_id}/partners/onboarding/start":{"post":{"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartOnboarding"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"default":{"$ref":"#/components/responses/DEFAULT_ERROR"}},"tags":["partners"],"summary":"/start","description":"Starts the onboarding process for an organization. Creates or retrieves an onboarding record and sets the provider to AWS."}}},"components":{"schemas":{"StartOnboarding":{"type":"object","properties":{"onboarding_id":{"type":"string"}},"additionalProperties":false},"ApiErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"detail":{},"code":{"type":["string","null"]},"url":{"type":["string","null"]},"timestamp":{"type":"string"},"type":{"type":"string"}},"required":["message","timestamp","type"]},"Error":{"type":"object","properties":{"code":{"type":"integer","description":"Error code"},"status":{"type":"string","description":"Error name"},"message":{"type":"string","description":"Error message"},"errors":{"type":"object","description":"Errors","additionalProperties":{}}},"additionalProperties":false}},"responses":{"DEFAULT_ERROR":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## /child-orgs

> Lists child organizations. This returns all orgs belongs to the channel partner identified by \*\*org\_id\*\*.

```json
{"openapi":"3.1.0","info":{"title":"Archera.ai Channel Partner API","version":"v1.0.0"},"tags":[{"name":"partners","description":"partners api automation"}],"paths":{"/v2/org/{org_id}/partners/onboarding/child-orgs":{"get":{"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/ListChildOrgsResponse"}}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"default":{"$ref":"#/components/responses/DEFAULT_ERROR"}},"tags":["partners"],"summary":"/child-orgs","description":"Lists child organizations. This returns all orgs belongs to the channel partner identified by **org_id**."}}},"components":{"schemas":{"ListChildOrgsResponse":{"type":"object","properties":{"created_at":{"type":"string","format":"date-time"},"org_id":{"type":"string"},"org_name":{"type":"string"},"org_checklist":{"type":"array","items":{"$ref":"#/components/schemas/Validation"}},"integration_checklist":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/Validation"}}}},"required":["created_at","integration_checklist","org_checklist","org_id","org_name"],"additionalProperties":false},"Validation":{"type":"object","properties":{"feature":{"type":"string"},"status":{"type":"string","enum":["available","warning","missing","unknown"]}},"additionalProperties":false},"ApiErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"detail":{},"code":{"type":["string","null"]},"url":{"type":["string","null"]},"timestamp":{"type":"string"},"type":{"type":"string"}},"required":["message","timestamp","type"]},"Error":{"type":"object","properties":{"code":{"type":"integer","description":"Error code"},"status":{"type":"string","description":"Error name"},"message":{"type":"string","description":"Error message"},"errors":{"type":"object","description":"Errors","additionalProperties":{}}},"additionalProperties":false}},"responses":{"DEFAULT_ERROR":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## /recommended

> Gets recommended purchase plans for a specific provider. Returns the most suitable plan based on the organization and provider requirements.

```json
{"openapi":"3.1.0","info":{"title":"Archera.ai Channel Partner API","version":"v1.0.0"},"tags":[{"name":"partners","description":"partners api automation"}],"paths":{"/v2/org/{org_id}/partners/purchase-plans-v2/recommended":{"get":{"parameters":[{"in":"query","name":"provider","schema":{"enum":["aws","azure","gcp"],"type":"string"},"required":true}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchasePlanV2CombinedSummary"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"$ref":"#/components/responses/UNPROCESSABLE_CONTENT"},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"default":{"$ref":"#/components/responses/DEFAULT_ERROR"}},"tags":["partners"],"summary":"/recommended","description":"Gets recommended purchase plans for a specific provider. Returns the most suitable plan based on the organization and provider requirements."}}},"components":{"schemas":{"PurchasePlanV2CombinedSummary":{"type":"object","properties":{"executed_via":{"readOnly":true,"description":"How the plan was submitted. `automation` means a policy applied it rather than a person, which is what lets a client hide routine automated churn.","type":["string","null"],"enum":["user","agent_in_app","agent_slack","mcp","api","partner","automation",null]},"submitted_at":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"When the plan was submitted for purchase. Null while it is a draft. Archera executes submitted plans within 5 business days, so this is the clock a 'where is my purchase' question is measured against."},"cancelled_at":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"When the plan was cancelled; null while it is alive."},"cancellation_reason":{"readOnly":true,"description":"Why the plan was cancelled: checks_failed, staff_cancelled, checks_failed, no_purchasable_orders or stale_automation. Null while it is alive.","type":["string","null"],"enum":["checks_failed","duplicate_plan","no_purchasable_orders","stale_automation","staff_cancelled",null]},"cancellation_message":{"type":["string","null"],"readOnly":true,"description":"Why a cancelled plan closed, in customer terms. Null while the plan is alive. Derived from every check, including the staff-only ones, so the explanation survives without naming a check the caller cannot see."},"blocked":{"type":"boolean","readOnly":true,"description":"True when the plan is alive but a failed check stops it from purchasing until someone acts; see `checks`. False for cancelled and completed plans."},"start_date":{"type":["string","null"],"format":"date-time"},"end_date":{"type":["string","null"],"format":"date-time"},"id":{"type":"string","format":"uuid"},"data_source":{"type":"string","maxLength":20},"name":{"type":"string"},"description":{"type":["string","null"]},"segment_id":{"type":"string","maxLength":50},"meta_plan_id":{"type":["string","null"],"format":"uuid"},"org_id":{"type":"string","maxLength":50},"last_modified":{"type":["string","null"],"format":"date-time"},"plan_type":{"type":"string","enum":["purchase","renewal","infrastructure"]},"coverage_id":{"type":["string","null"],"format":"uuid"},"created_at":{"type":"string","format":"date-time"},"is_calculating":{"type":"boolean"},"is_saved":{"type":"boolean"},"is_locked":{"type":"boolean"},"max_upfront_cost":{"type":"number"},"minimum_upfront_interest_rate":{"type":"number"},"preferred_payment_option":{"enum":["No Upfront","Partial Upfront","All Upfront",null]},"included_contract_specs":{"type":"array","items":{"$ref":"#/components/schemas/PurchasePlanContractSpec"}},"included_contract_terms":{"type":"array","items":{"type":"string","enum":["one_year_gris","thirty_day_gris","two_month_gris","three_month_gris","four_month_gris","five_month_gris","six_month_gris","seven_month_gris","eight_month_gris","nine_month_gris","ten_month_gris","eleven_month_gris","twelve_month_gris","thirteen_month_gris","fourteen_month_gris","fifteen_month_gris","sixteen_month_gris","seventeen_month_gris","eighteen_month_gris","nineteen_month_gris","twenty_month_gris","twenty_one_month_gris","twenty_two_month_gris","twenty_three_month_gris","twenty_four_month_gris","twenty_five_month_gris","twenty_six_month_gris","twenty_seven_month_gris","twenty_eight_month_gris","twenty_nine_month_gris","thirty_month_gris","thirty_one_month_gris","thirty_two_month_gris","thirty_three_month_gris","thirty_four_month_gris","thirty_five_month_gris","one_year","two_year","three_year","five_year","zero_day","thirty_day","two_month","three_month","four_month","five_month","six_month","seven_month","eight_month","nine_month","ten_month","eleven_month","thirteen_month","fourteen_month","fifteen_month","sixteen_month","seventeen_month","eighteen_month","nineteen_month","twenty_month","twenty_one_month","twenty_two_month","twenty_three_month","twenty_five_month","twenty_six_month","twenty_seven_month","twenty_eight_month","twenty_nine_month","thirty_month","thirty_one_month","thirty_two_month","thirty_three_month","thirty_four_month","thirty_five_month"]}},"recommend_within_covered_accounts":{"type":["boolean","null"]},"status":{"type":"string","enum":["new","reviewed","scheduled","completed","draft","needs_review","in_progress","cancelled"]},"is_recommended":{"type":"boolean"},"is_default":{"type":"boolean"},"is_renewal":{"type":"boolean"},"is_cost_estimate_plan":{"type":"boolean"},"source_cost_estimate_id":{"type":["string","null"],"format":"uuid","description":"Cost estimate this plan was generated from (data_source = 'cost_estimate'); SET NULL survives estimate deletion."},"source_cost_estimate":{"anyOf":[{"$ref":"#/components/schemas/CostEstimateSource"},{"type":"null"}]},"execution_policy":{"$ref":"#/components/schemas/ExecutePurchasePolicyDump_Exclude_Segment_TargetPlan"},"segment":{"$ref":"#/components/schemas/SegmentInfo"},"flagged_actions":{"type":"array","items":{"$ref":"#/components/schemas/FlaggedAction"}},"created_by":{"$ref":"#/components/schemas/UserInfo"},"resource_ids":{"type":"array","items":{"type":"string"}},"reservation_ids":{"type":"array","items":{"type":"string"}},"max_term":{"type":"string"},"all_terms":{"type":"array","items":{"type":"string","enum":["one_year_gris","thirty_day_gris","two_month_gris","three_month_gris","four_month_gris","five_month_gris","six_month_gris","seven_month_gris","eight_month_gris","nine_month_gris","ten_month_gris","eleven_month_gris","twelve_month_gris","thirteen_month_gris","fourteen_month_gris","fifteen_month_gris","sixteen_month_gris","seventeen_month_gris","eighteen_month_gris","nineteen_month_gris","twenty_month_gris","twenty_one_month_gris","twenty_two_month_gris","twenty_three_month_gris","twenty_four_month_gris","twenty_five_month_gris","twenty_six_month_gris","twenty_seven_month_gris","twenty_eight_month_gris","twenty_nine_month_gris","thirty_month_gris","thirty_one_month_gris","thirty_two_month_gris","thirty_three_month_gris","thirty_four_month_gris","thirty_five_month_gris","one_year","two_year","three_year","five_year","zero_day","thirty_day","two_month","three_month","four_month","five_month","six_month","seven_month","eight_month","nine_month","ten_month","eleven_month","thirteen_month","fourteen_month","fifteen_month","sixteen_month","seventeen_month","eighteen_month","nineteen_month","twenty_month","twenty_one_month","twenty_two_month","twenty_three_month","twenty_five_month","twenty_six_month","twenty_seven_month","twenty_eight_month","twenty_nine_month","thirty_month","thirty_one_month","thirty_two_month","thirty_three_month","thirty_four_month","thirty_five_month"]}},"covered_ondemand_cost":{"type":"number"},"before_ondemand_cost":{"type":"number"},"before_reserved_cost":{"type":"number"},"amortized_cost":{"type":"number"},"recurring_cost":{"type":"number"},"upfront_cost":{"type":"number"},"before_cost":{"type":"number"},"after_cost":{"type":"number"},"total_cost":{"type":"number"},"savings":{"type":"number"},"fee":{"type":"number"},"commitment_coverage":{"type":"number"},"minimum_commitment_cost":{"type":"number"},"breakeven_hours":{"type":"number"},"total_savings":{"type":"number"},"monthly_savings":{"type":"number"},"monthly_amortized_cost":{"type":"number"},"monthly_fee":{"type":"number"},"monthly_before_cost":{"type":"number"},"monthly_after_cost":{"type":"number"},"total_monthly_before_cost":{"type":"number"},"aggregate_metrics":{"$ref":"#/components/schemas/AggregateMetrics"},"summaries":{"type":"array","items":{"$ref":"#/components/schemas/LineItemSummary"}}},"required":["after_cost","all_terms","amortized_cost","before_cost","before_ondemand_cost","before_reserved_cost","blocked","breakeven_hours","cancellation_message","cancellation_reason","cancelled_at","commitment_coverage","coverage_id","covered_ondemand_cost","created_at","created_by","data_source","description","executed_via","execution_policy","fee","flagged_actions","id","included_contract_specs","included_contract_terms","is_calculating","is_cost_estimate_plan","is_default","is_locked","is_recommended","is_renewal","is_saved","last_modified","max_term","max_upfront_cost","meta_plan_id","minimum_commitment_cost","minimum_upfront_interest_rate","monthly_after_cost","monthly_amortized_cost","monthly_before_cost","monthly_fee","monthly_savings","name","org_id","plan_type","preferred_payment_option","recommend_within_covered_accounts","recurring_cost","reservation_ids","resource_ids","savings","segment","segment_id","source_cost_estimate","source_cost_estimate_id","status","submitted_at","summaries","total_cost","total_monthly_before_cost","total_savings","upfront_cost"],"additionalProperties":false},"PurchasePlanContractSpec":{"type":"object","properties":{"commitment_type":{"type":"string"},"properties":{"type":"object","default":{},"additionalProperties":{}},"term":{"default":null,"type":["string","null"],"enum":["one_year_gris","thirty_day_gris","two_month_gris","three_month_gris","four_month_gris","five_month_gris","six_month_gris","seven_month_gris","eight_month_gris","nine_month_gris","ten_month_gris","eleven_month_gris","twelve_month_gris","thirteen_month_gris","fourteen_month_gris","fifteen_month_gris","sixteen_month_gris","seventeen_month_gris","eighteen_month_gris","nineteen_month_gris","twenty_month_gris","twenty_one_month_gris","twenty_two_month_gris","twenty_three_month_gris","twenty_four_month_gris","twenty_five_month_gris","twenty_six_month_gris","twenty_seven_month_gris","twenty_eight_month_gris","twenty_nine_month_gris","thirty_month_gris","thirty_one_month_gris","thirty_two_month_gris","thirty_three_month_gris","thirty_four_month_gris","thirty_five_month_gris","one_year","two_year","three_year","five_year","zero_day","thirty_day","two_month","three_month","four_month","five_month","six_month","seven_month","eight_month","nine_month","ten_month","eleven_month","thirteen_month","fourteen_month","fifteen_month","sixteen_month","seventeen_month","eighteen_month","nineteen_month","twenty_month","twenty_one_month","twenty_two_month","twenty_three_month","twenty_five_month","twenty_six_month","twenty_seven_month","twenty_eight_month","twenty_nine_month","thirty_month","thirty_one_month","thirty_two_month","thirty_three_month","thirty_four_month","thirty_five_month",null]},"payment_option":{"default":null,"type":["string","null"],"enum":["no_upfront","partial_upfront","all_upfront",null]}},"required":["commitment_type"],"additionalProperties":false},"CostEstimateSource":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"updated_at":{"type":"string","format":"date-time"},"deleted_at":{"type":["string","null"],"format":"date-time"}},"required":["deleted_at","id","name","updated_at"],"additionalProperties":false},"ExecutePurchasePolicyDump_Exclude_Segment_TargetPlan":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"org_id":{"type":"string","format":"uuid","readOnly":true},"name":{"type":"string","readOnly":true},"description":{"type":["string","null"],"readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"last_modified":{"type":["string","null"],"format":"date-time","readOnly":true},"schedule":{"type":"string","enum":["quarterly","weekly","monthly","daily"],"readOnly":true},"start_date":{"type":["string","null"],"format":"date-time","readOnly":true},"end_date":{"type":["string","null"],"format":"date-time","readOnly":true},"enabled":{"type":"boolean","readOnly":true},"next_execution_date":{"type":["string","null"],"format":"date-time","readOnly":true},"meta_plan_id":{"type":["string","null"],"format":"uuid","readOnly":true},"segment_id":{"type":["string","null"],"format":"uuid","readOnly":true},"default_plan_name":{"type":["string","null"],"readOnly":true},"min_savings":{"type":["number","null"],"readOnly":true},"meta_plan":{"readOnly":true,"$ref":"#/components/schemas/MetaPlanInfo"},"created_by":{"readOnly":true,"$ref":"#/components/schemas/UserInfo"},"plans":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/PlanInfo"}},"total_savings":{"type":["number","null"],"readOnly":true}},"required":["created_at","created_by","default_plan_name","description","enabled","end_date","id","last_modified","meta_plan","meta_plan_id","min_savings","name","next_execution_date","org_id","plans","schedule","segment_id","start_date","total_savings"],"additionalProperties":false},"MetaPlanInfo":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"is_default":{"type":"boolean","readOnly":true}},"required":["created_at","id","is_default","name"],"additionalProperties":false},"UserInfo":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"maxLength":50},"username":{"type":"string","maxLength":255},"full_name":{"type":["string","null"],"maxLength":255}},"required":["username"],"additionalProperties":false},"PlanInfo":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"executed_via":{"readOnly":true,"description":"How the plan was submitted. `automation` means a policy applied it rather than a person, which is what lets a client hide routine automated churn.","type":["string","null"],"enum":["user","agent_in_app","agent_slack","mcp","api","partner","automation",null]},"submitted_at":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"When the plan was submitted for purchase. Null while it is a draft. Archera executes submitted plans within 5 business days, so this is the clock a 'where is my purchase' question is measured against."},"cancelled_at":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"When the plan was cancelled; null while it is alive."},"cancellation_reason":{"readOnly":true,"description":"Why the plan was cancelled: checks_failed, staff_cancelled, checks_failed, no_purchasable_orders or stale_automation. Null while it is alive.","type":["string","null"],"enum":["checks_failed","duplicate_plan","no_purchasable_orders","stale_automation","staff_cancelled",null]},"cancellation_message":{"type":["string","null"],"readOnly":true,"description":"Why a cancelled plan closed, in customer terms. Null while the plan is alive. Derived from every check, including the staff-only ones, so the explanation survives without naming a check the caller cannot see."},"blocked":{"type":"boolean","readOnly":true,"description":"True when the plan is alive but a failed check stops it from purchasing until someone acts; see `checks`. False for cancelled and completed plans."},"status":{"readOnly":true,"type":"string","enum":["new","reviewed","scheduled","completed","draft","needs_review","in_progress","cancelled"]}},"required":["blocked","cancellation_message","cancellation_reason","cancelled_at","created_at","executed_via","id","name","status","submitted_at"],"additionalProperties":false},"SegmentInfo":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"is_default":{"type":"boolean","readOnly":true},"provider":{"readOnly":true,"type":"string","enum":["aws","azure","gcp"]}},"required":["created_at","id","is_default","name","provider"],"additionalProperties":false},"FlaggedAction":{"oneOf":[{"$ref":"#/components/schemas/PurchaseAction_Exclude_User"},{"$ref":"#/components/schemas/RenewalPurchaseAction_Exclude_User"},{"$ref":"#/components/schemas/ExchangeAction_Exclude_User"},{"$ref":"#/components/schemas/LegacyPurchaseAction_Exclude_User"}],"discriminator":{"propertyName":"action_type","mapping":{"purchase":"#/components/schemas/PurchaseAction_Exclude_User","renewal_purchase":"#/components/schemas/RenewalPurchaseAction_Exclude_User","exchange":"#/components/schemas/ExchangeAction_Exclude_User","legacy_purchase":"#/components/schemas/LegacyPurchaseAction_Exclude_User"}}},"PurchaseAction_Exclude_User":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"maxLength":50},"org_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"user_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"provider":{"type":["string","null"],"maxLength":255},"action_type":{"type":["string","null"],"maxLength":255},"action_description":{},"status":{"type":["string","null"],"default":"submitted","maxLength":255},"creation_time":{"type":"string","format":"date-time","readOnly":true},"execution_time":{"type":["string","null"],"format":"date-time","readOnly":true},"execution_info":{"readOnly":true},"plan_id":{"type":"string","readOnly":true,"pattern":"[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\\Z"},"plan":{"readOnly":true,"$ref":"#/components/schemas/PurchasePlanV2NameId"}},"required":["plan_id"],"additionalProperties":false},"PurchasePlanV2NameId":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_default":{"type":"boolean"},"status":{"type":"string","enum":["new","reviewed","scheduled","completed","draft","needs_review","in_progress","cancelled"]}},"required":["id","is_default","name","status"],"additionalProperties":false},"RenewalPurchaseAction_Exclude_User":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"maxLength":50},"org_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"user_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"provider":{"type":["string","null"],"maxLength":255},"action_type":{"type":["string","null"],"maxLength":255},"action_description":{},"status":{"type":["string","null"],"default":"submitted","maxLength":255},"creation_time":{"type":"string","format":"date-time","readOnly":true},"execution_time":{"type":["string","null"],"format":"date-time","readOnly":true},"execution_info":{"readOnly":true},"plan_id":{"type":"string","readOnly":true,"pattern":"[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\\Z"},"plan":{"readOnly":true,"$ref":"#/components/schemas/PurchasePlanV2NameId"}},"required":["plan_id"],"additionalProperties":false},"ExchangeAction_Exclude_User":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"maxLength":50},"org_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"user_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"provider":{"type":["string","null"],"maxLength":255},"action_type":{"type":["string","null"],"maxLength":255},"action_description":{},"status":{"type":["string","null"],"default":"submitted","maxLength":255},"creation_time":{"type":"string","format":"date-time","readOnly":true},"execution_time":{"type":["string","null"],"format":"date-time","readOnly":true},"execution_info":{"readOnly":true},"exchange_status":{"type":["string","null"],"maxLength":255}},"additionalProperties":false},"LegacyPurchaseAction_Exclude_User":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"maxLength":50},"org_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"user_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"provider":{"type":["string","null"],"maxLength":255},"action_type":{"type":["string","null"],"maxLength":255},"action_description":{},"status":{"type":["string","null"],"default":"submitted","maxLength":255},"creation_time":{"type":"string","format":"date-time","readOnly":true},"execution_time":{"type":["string","null"],"format":"date-time","readOnly":true},"execution_info":{"readOnly":true}},"additionalProperties":false},"AggregateMetrics":{"type":"object","properties":{"potential_coverage":{"type":"number"},"current_coverage":{"type":"number"},"summaries":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/CommitmentSummary"}}},"additionalProperties":false},"CommitmentSummary":{"type":"object","properties":{"key":{"type":"string"},"name":{"type":"string"},"provider":{"type":["string","null"],"enum":["aws","azure","gcp",null]},"service_name":{"type":"string"},"num_commitments":{"type":"integer"},"min_commitment":{"type":"number"},"max_savings":{"type":"number"},"min_savings":{"type":"number"},"upfront_cost":{"type":"number"},"monthly_savings":{"type":"number"},"monthly_commitment":{"type":"number"},"potential_coverage":{"type":"number"},"current_coverage":{"type":"number"},"min_term_hours":{"type":"integer"},"max_term_hours":{"type":"integer"},"gri_premium":{"type":"number"}},"required":["key"],"additionalProperties":false},"LineItemSummary":{"type":"object","properties":{"key":{"type":"string"},"provider":{"type":"string","enum":["aws","azure","gcp"]},"num_commitments":{"type":"integer"},"min_commitment":{"type":"number"},"max_savings":{"type":"number"},"min_savings":{"type":"number"},"upfront_cost":{"type":"number"},"monthly_savings":{"type":"number"},"monthly_commitment":{"type":"number"},"min_term_hours":{"type":"integer"},"max_term_hours":{"type":"integer"},"gri_premiums":{"type":"number"},"if_all_ondemand_cost":{"type":"number"},"before_ondemand_cost":{"type":"number"},"after_ondemand_cost":{"type":"number"}},"required":["after_ondemand_cost","before_ondemand_cost","gri_premiums","if_all_ondemand_cost","key","max_savings","max_term_hours","min_commitment","min_savings","min_term_hours","monthly_commitment","monthly_savings","num_commitments","provider","upfront_cost"],"additionalProperties":false},"ApiErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"detail":{},"code":{"type":["string","null"]},"url":{"type":["string","null"]},"timestamp":{"type":"string"},"type":{"type":"string"}},"required":["message","timestamp","type"]},"Error":{"type":"object","properties":{"code":{"type":"integer","description":"Error code"},"status":{"type":"string","description":"Error name"},"message":{"type":"string","description":"Error message"},"errors":{"type":"object","description":"Errors","additionalProperties":{}}},"additionalProperties":false}},"responses":{"UNPROCESSABLE_CONTENT":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"DEFAULT_ERROR":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## /\<uuid:plan\_id>/purchase

> Executes purchase of a specific plan by plan ID. Creates or validates user membership and processes the plan purchase.

```json
{"openapi":"3.1.0","info":{"title":"Archera.ai Channel Partner API","version":"v1.0.0"},"tags":[{"name":"partners","description":"partners api automation"}],"paths":{"/v2/org/{org_id}/partners/purchase-plans-v2/{plan_id}/purchase":{"post":{"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchasePlanV2"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"$ref":"#/components/responses/UNPROCESSABLE_CONTENT"},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"default":{"$ref":"#/components/responses/DEFAULT_ERROR"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/PurchaseRequest"}}}},"tags":["partners"],"summary":"/<uuid:plan_id>/purchase","description":"Executes purchase of a specific plan by plan ID. Creates or validates user membership and processes the plan purchase."}}},"components":{"schemas":{"PurchasePlanV2":{"type":"object","properties":{"executed_via":{"readOnly":true,"description":"How the plan was submitted. `automation` means a policy applied it rather than a person, which is what lets a client hide routine automated churn.","type":["string","null"],"enum":["user","agent_in_app","agent_slack","mcp","api","partner","automation",null]},"submitted_at":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"When the plan was submitted for purchase. Null while it is a draft. Archera executes submitted plans within 5 business days, so this is the clock a 'where is my purchase' question is measured against."},"cancelled_at":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"When the plan was cancelled; null while it is alive."},"cancellation_reason":{"readOnly":true,"description":"Why the plan was cancelled: checks_failed, staff_cancelled, checks_failed, no_purchasable_orders or stale_automation. Null while it is alive.","type":["string","null"],"enum":["checks_failed","duplicate_plan","no_purchasable_orders","stale_automation","staff_cancelled",null]},"cancellation_message":{"type":["string","null"],"readOnly":true,"description":"Why a cancelled plan closed, in customer terms. Null while the plan is alive. Derived from every check, including the staff-only ones, so the explanation survives without naming a check the caller cannot see."},"blocked":{"type":"boolean","readOnly":true,"description":"True when the plan is alive but a failed check stops it from purchasing until someone acts; see `checks`. False for cancelled and completed plans."},"start_date":{"type":["string","null"],"format":"date-time"},"end_date":{"type":["string","null"],"format":"date-time"},"id":{"type":"string","format":"uuid"},"data_source":{"type":"string","maxLength":20},"name":{"type":"string"},"description":{"type":["string","null"]},"segment_id":{"type":"string","maxLength":50},"meta_plan_id":{"type":["string","null"],"format":"uuid"},"org_id":{"type":"string","maxLength":50},"last_modified":{"type":["string","null"],"format":"date-time"},"plan_type":{"type":"string","enum":["purchase","renewal","infrastructure"]},"coverage_id":{"type":["string","null"],"format":"uuid"},"created_at":{"type":"string","format":"date-time"},"is_calculating":{"type":"boolean"},"is_saved":{"type":"boolean"},"is_locked":{"type":"boolean"},"max_upfront_cost":{"type":"number"},"minimum_upfront_interest_rate":{"type":"number"},"preferred_payment_option":{"enum":["No Upfront","Partial Upfront","All Upfront",null]},"included_contract_specs":{"type":"array","items":{"$ref":"#/components/schemas/PurchasePlanContractSpec"}},"included_contract_terms":{"type":"array","items":{"type":"string","enum":["one_year_gris","thirty_day_gris","two_month_gris","three_month_gris","four_month_gris","five_month_gris","six_month_gris","seven_month_gris","eight_month_gris","nine_month_gris","ten_month_gris","eleven_month_gris","twelve_month_gris","thirteen_month_gris","fourteen_month_gris","fifteen_month_gris","sixteen_month_gris","seventeen_month_gris","eighteen_month_gris","nineteen_month_gris","twenty_month_gris","twenty_one_month_gris","twenty_two_month_gris","twenty_three_month_gris","twenty_four_month_gris","twenty_five_month_gris","twenty_six_month_gris","twenty_seven_month_gris","twenty_eight_month_gris","twenty_nine_month_gris","thirty_month_gris","thirty_one_month_gris","thirty_two_month_gris","thirty_three_month_gris","thirty_four_month_gris","thirty_five_month_gris","one_year","two_year","three_year","five_year","zero_day","thirty_day","two_month","three_month","four_month","five_month","six_month","seven_month","eight_month","nine_month","ten_month","eleven_month","thirteen_month","fourteen_month","fifteen_month","sixteen_month","seventeen_month","eighteen_month","nineteen_month","twenty_month","twenty_one_month","twenty_two_month","twenty_three_month","twenty_five_month","twenty_six_month","twenty_seven_month","twenty_eight_month","twenty_nine_month","thirty_month","thirty_one_month","thirty_two_month","thirty_three_month","thirty_four_month","thirty_five_month"]}},"recommend_within_covered_accounts":{"type":["boolean","null"]},"status":{"type":"string","enum":["new","reviewed","scheduled","completed","draft","needs_review","in_progress","cancelled"]},"is_recommended":{"type":"boolean"},"is_default":{"type":"boolean"},"is_renewal":{"type":"boolean"},"is_cost_estimate_plan":{"type":"boolean"},"source_cost_estimate_id":{"type":["string","null"],"format":"uuid","description":"Cost estimate this plan was generated from (data_source = 'cost_estimate'); SET NULL survives estimate deletion."},"source_cost_estimate":{"anyOf":[{"$ref":"#/components/schemas/CostEstimateSource"},{"type":"null"}]},"execution_policy":{"$ref":"#/components/schemas/ExecutePurchasePolicyDump_Exclude_Segment_TargetPlan"},"segment":{"$ref":"#/components/schemas/SegmentInfo"},"flagged_actions":{"type":"array","items":{"$ref":"#/components/schemas/FlaggedAction"}},"created_by":{"$ref":"#/components/schemas/UserInfo"},"resource_ids":{"type":"array","items":{"type":"string"}},"reservation_ids":{"type":"array","items":{"type":"string"}}},"required":["blocked","cancellation_message","cancellation_reason","cancelled_at","coverage_id","created_at","created_by","data_source","description","executed_via","execution_policy","flagged_actions","id","included_contract_specs","included_contract_terms","is_calculating","is_cost_estimate_plan","is_default","is_locked","is_recommended","is_renewal","is_saved","last_modified","max_upfront_cost","meta_plan_id","minimum_upfront_interest_rate","name","org_id","plan_type","preferred_payment_option","recommend_within_covered_accounts","reservation_ids","resource_ids","segment","segment_id","source_cost_estimate","source_cost_estimate_id","status","submitted_at"],"additionalProperties":false},"PurchasePlanContractSpec":{"type":"object","properties":{"commitment_type":{"type":"string"},"properties":{"type":"object","default":{},"additionalProperties":{}},"term":{"default":null,"type":["string","null"],"enum":["one_year_gris","thirty_day_gris","two_month_gris","three_month_gris","four_month_gris","five_month_gris","six_month_gris","seven_month_gris","eight_month_gris","nine_month_gris","ten_month_gris","eleven_month_gris","twelve_month_gris","thirteen_month_gris","fourteen_month_gris","fifteen_month_gris","sixteen_month_gris","seventeen_month_gris","eighteen_month_gris","nineteen_month_gris","twenty_month_gris","twenty_one_month_gris","twenty_two_month_gris","twenty_three_month_gris","twenty_four_month_gris","twenty_five_month_gris","twenty_six_month_gris","twenty_seven_month_gris","twenty_eight_month_gris","twenty_nine_month_gris","thirty_month_gris","thirty_one_month_gris","thirty_two_month_gris","thirty_three_month_gris","thirty_four_month_gris","thirty_five_month_gris","one_year","two_year","three_year","five_year","zero_day","thirty_day","two_month","three_month","four_month","five_month","six_month","seven_month","eight_month","nine_month","ten_month","eleven_month","thirteen_month","fourteen_month","fifteen_month","sixteen_month","seventeen_month","eighteen_month","nineteen_month","twenty_month","twenty_one_month","twenty_two_month","twenty_three_month","twenty_five_month","twenty_six_month","twenty_seven_month","twenty_eight_month","twenty_nine_month","thirty_month","thirty_one_month","thirty_two_month","thirty_three_month","thirty_four_month","thirty_five_month",null]},"payment_option":{"default":null,"type":["string","null"],"enum":["no_upfront","partial_upfront","all_upfront",null]}},"required":["commitment_type"],"additionalProperties":false},"CostEstimateSource":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"updated_at":{"type":"string","format":"date-time"},"deleted_at":{"type":["string","null"],"format":"date-time"}},"required":["deleted_at","id","name","updated_at"],"additionalProperties":false},"ExecutePurchasePolicyDump_Exclude_Segment_TargetPlan":{"type":"object","properties":{"id":{"type":"string","format":"uuid","readOnly":true},"org_id":{"type":"string","format":"uuid","readOnly":true},"name":{"type":"string","readOnly":true},"description":{"type":["string","null"],"readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"last_modified":{"type":["string","null"],"format":"date-time","readOnly":true},"schedule":{"type":"string","enum":["quarterly","weekly","monthly","daily"],"readOnly":true},"start_date":{"type":["string","null"],"format":"date-time","readOnly":true},"end_date":{"type":["string","null"],"format":"date-time","readOnly":true},"enabled":{"type":"boolean","readOnly":true},"next_execution_date":{"type":["string","null"],"format":"date-time","readOnly":true},"meta_plan_id":{"type":["string","null"],"format":"uuid","readOnly":true},"segment_id":{"type":["string","null"],"format":"uuid","readOnly":true},"default_plan_name":{"type":["string","null"],"readOnly":true},"min_savings":{"type":["number","null"],"readOnly":true},"meta_plan":{"readOnly":true,"$ref":"#/components/schemas/MetaPlanInfo"},"created_by":{"readOnly":true,"$ref":"#/components/schemas/UserInfo"},"plans":{"readOnly":true,"type":"array","items":{"$ref":"#/components/schemas/PlanInfo"}},"total_savings":{"type":["number","null"],"readOnly":true}},"required":["created_at","created_by","default_plan_name","description","enabled","end_date","id","last_modified","meta_plan","meta_plan_id","min_savings","name","next_execution_date","org_id","plans","schedule","segment_id","start_date","total_savings"],"additionalProperties":false},"MetaPlanInfo":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"is_default":{"type":"boolean","readOnly":true}},"required":["created_at","id","is_default","name"],"additionalProperties":false},"UserInfo":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"maxLength":50},"username":{"type":"string","maxLength":255},"full_name":{"type":["string","null"],"maxLength":255}},"required":["username"],"additionalProperties":false},"PlanInfo":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"executed_via":{"readOnly":true,"description":"How the plan was submitted. `automation` means a policy applied it rather than a person, which is what lets a client hide routine automated churn.","type":["string","null"],"enum":["user","agent_in_app","agent_slack","mcp","api","partner","automation",null]},"submitted_at":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"When the plan was submitted for purchase. Null while it is a draft. Archera executes submitted plans within 5 business days, so this is the clock a 'where is my purchase' question is measured against."},"cancelled_at":{"type":["string","null"],"format":"date-time","readOnly":true,"description":"When the plan was cancelled; null while it is alive."},"cancellation_reason":{"readOnly":true,"description":"Why the plan was cancelled: checks_failed, staff_cancelled, checks_failed, no_purchasable_orders or stale_automation. Null while it is alive.","type":["string","null"],"enum":["checks_failed","duplicate_plan","no_purchasable_orders","stale_automation","staff_cancelled",null]},"cancellation_message":{"type":["string","null"],"readOnly":true,"description":"Why a cancelled plan closed, in customer terms. Null while the plan is alive. Derived from every check, including the staff-only ones, so the explanation survives without naming a check the caller cannot see."},"blocked":{"type":"boolean","readOnly":true,"description":"True when the plan is alive but a failed check stops it from purchasing until someone acts; see `checks`. False for cancelled and completed plans."},"status":{"readOnly":true,"type":"string","enum":["new","reviewed","scheduled","completed","draft","needs_review","in_progress","cancelled"]}},"required":["blocked","cancellation_message","cancellation_reason","cancelled_at","created_at","executed_via","id","name","status","submitted_at"],"additionalProperties":false},"SegmentInfo":{"type":"object","properties":{"id":{"type":"string","readOnly":true},"name":{"type":"string","readOnly":true},"created_at":{"type":"string","format":"date-time","readOnly":true},"is_default":{"type":"boolean","readOnly":true},"provider":{"readOnly":true,"type":"string","enum":["aws","azure","gcp"]}},"required":["created_at","id","is_default","name","provider"],"additionalProperties":false},"FlaggedAction":{"oneOf":[{"$ref":"#/components/schemas/PurchaseAction_Exclude_User"},{"$ref":"#/components/schemas/RenewalPurchaseAction_Exclude_User"},{"$ref":"#/components/schemas/ExchangeAction_Exclude_User"},{"$ref":"#/components/schemas/LegacyPurchaseAction_Exclude_User"}],"discriminator":{"propertyName":"action_type","mapping":{"purchase":"#/components/schemas/PurchaseAction_Exclude_User","renewal_purchase":"#/components/schemas/RenewalPurchaseAction_Exclude_User","exchange":"#/components/schemas/ExchangeAction_Exclude_User","legacy_purchase":"#/components/schemas/LegacyPurchaseAction_Exclude_User"}}},"PurchaseAction_Exclude_User":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"maxLength":50},"org_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"user_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"provider":{"type":["string","null"],"maxLength":255},"action_type":{"type":["string","null"],"maxLength":255},"action_description":{},"status":{"type":["string","null"],"default":"submitted","maxLength":255},"creation_time":{"type":"string","format":"date-time","readOnly":true},"execution_time":{"type":["string","null"],"format":"date-time","readOnly":true},"execution_info":{"readOnly":true},"plan_id":{"type":"string","readOnly":true,"pattern":"[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\\Z"},"plan":{"readOnly":true,"$ref":"#/components/schemas/PurchasePlanV2NameId"}},"required":["plan_id"],"additionalProperties":false},"PurchasePlanV2NameId":{"type":"object","properties":{"name":{"type":"string"},"id":{"type":"string","format":"uuid"},"is_default":{"type":"boolean"},"status":{"type":"string","enum":["new","reviewed","scheduled","completed","draft","needs_review","in_progress","cancelled"]}},"required":["id","is_default","name","status"],"additionalProperties":false},"RenewalPurchaseAction_Exclude_User":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"maxLength":50},"org_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"user_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"provider":{"type":["string","null"],"maxLength":255},"action_type":{"type":["string","null"],"maxLength":255},"action_description":{},"status":{"type":["string","null"],"default":"submitted","maxLength":255},"creation_time":{"type":"string","format":"date-time","readOnly":true},"execution_time":{"type":["string","null"],"format":"date-time","readOnly":true},"execution_info":{"readOnly":true},"plan_id":{"type":"string","readOnly":true,"pattern":"[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\\Z"},"plan":{"readOnly":true,"$ref":"#/components/schemas/PurchasePlanV2NameId"}},"required":["plan_id"],"additionalProperties":false},"ExchangeAction_Exclude_User":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"maxLength":50},"org_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"user_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"provider":{"type":["string","null"],"maxLength":255},"action_type":{"type":["string","null"],"maxLength":255},"action_description":{},"status":{"type":["string","null"],"default":"submitted","maxLength":255},"creation_time":{"type":"string","format":"date-time","readOnly":true},"execution_time":{"type":["string","null"],"format":"date-time","readOnly":true},"execution_info":{"readOnly":true},"exchange_status":{"type":["string","null"],"maxLength":255}},"additionalProperties":false},"LegacyPurchaseAction_Exclude_User":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"maxLength":50},"org_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"user_id":{"type":["string","null"],"readOnly":true,"maxLength":50},"provider":{"type":["string","null"],"maxLength":255},"action_type":{"type":["string","null"],"maxLength":255},"action_description":{},"status":{"type":["string","null"],"default":"submitted","maxLength":255},"creation_time":{"type":"string","format":"date-time","readOnly":true},"execution_time":{"type":["string","null"],"format":"date-time","readOnly":true},"execution_info":{"readOnly":true}},"additionalProperties":false},"ApiErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"detail":{},"code":{"type":["string","null"]},"url":{"type":["string","null"]},"timestamp":{"type":"string"},"type":{"type":"string"}},"required":["message","timestamp","type"]},"Error":{"type":"object","properties":{"code":{"type":"integer","description":"Error code"},"status":{"type":"string","description":"Error name"},"message":{"type":"string","description":"Error message"},"errors":{"type":"object","description":"Errors","additionalProperties":{}}},"additionalProperties":false},"PurchaseRequest":{"type":"object","properties":{"email":{"type":"string","format":"email","maxLength":255,"description":"Email of the user executing the purchase"}},"required":["email"],"additionalProperties":false}},"responses":{"UNPROCESSABLE_CONTENT":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"DEFAULT_ERROR":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```

## PATCH /v2/org/{org\_id}/partners

> Partially Update an Organization\
> So far the scope is only limited to marketplace offer links

```json
{"openapi":"3.1.0","info":{"title":"Archera.ai Channel Partner API","version":"v1.0.0"},"tags":[{"name":"partners","description":"partners api automation"}],"paths":{"/v2/org/{org_id}/partners":{"patch":{"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PartnerOrgResponse"}}}},"400":{"description":"Bad request","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"404":{"description":"Not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"405":{"description":"Method not allowed","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"409":{"description":"Conflict","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"422":{"$ref":"#/components/responses/UNPROCESSABLE_CONTENT"},"500":{"description":"Internal server error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ApiErrorResponse"}}}},"default":{"$ref":"#/components/responses/DEFAULT_ERROR"}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdatePartnerOrg"}}}},"summary":"Partially Update an Organization\nSo far the scope is only limited to marketplace offer links","tags":["partners"]}}},"components":{"schemas":{"PartnerOrgResponse":{"type":"object","properties":{"id":{"type":"string","format":"uuid"},"name":{"type":"string"},"aws_marketplace_offer_link":{"type":["string","null"]},"azure_marketplace_offer_link":{"type":["string","null"]},"gcp_marketplace_offer_link":{"type":["string","null"]}},"required":["aws_marketplace_offer_link","azure_marketplace_offer_link","gcp_marketplace_offer_link","id","name"],"additionalProperties":false},"ApiErrorResponse":{"type":"object","properties":{"message":{"type":"string"},"detail":{},"code":{"type":["string","null"]},"url":{"type":["string","null"]},"timestamp":{"type":"string"},"type":{"type":"string"}},"required":["message","timestamp","type"]},"Error":{"type":"object","properties":{"code":{"type":"integer","description":"Error code"},"status":{"type":"string","description":"Error name"},"message":{"type":"string","description":"Error message"},"errors":{"type":"object","description":"Errors","additionalProperties":{}}},"additionalProperties":false},"UpdatePartnerOrg":{"type":"object","properties":{"aws_marketplace_offer_link":{"type":["string","null"],"format":"url"},"azure_marketplace_offer_link":{"type":["string","null"],"format":"url"},"gcp_marketplace_offer_link":{"type":["string","null"],"format":"url"}},"additionalProperties":false}},"responses":{"UNPROCESSABLE_CONTENT":{"description":"Unprocessable Content","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"DEFAULT_ERROR":{"description":"Default error response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}}
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.archera.ai/api-reference/partner-api/partners.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
