> ## Documentation Index
> Fetch the complete documentation index at: https://docs.chargefy.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

> O objeto Organization

Uma `organization` representa a entidade que opera dentro da Chargefy — a sua
própria empresa usando a API diretamente, ou uma organização conectada da sua
plataforma. Nela ficam a identidade pública, os dados fiscais, o endereço de
cobrança, os padrões visuais do checkout hospedado e, em contexto de plataforma,
o status financeiro da organização conectada.

A organization é o centro de escopo da API: produtos, preços, customers, checkout
sessions, payment links, invoices e subscriptions pertencem à organização que
está atuando. Uma API key de organização enxerga a própria organização; uma API
key de plataforma usa o header `Organization` para escolher qual organização
conectada está vendendo. Os webhooks carregam essa organização no envelope do
evento — em fan-out para plataformas, apontando para a organização conectada que
originou a mudança.

Plataformas criam organizações conectadas com `POST /v1/organizations`. Se a
organização também precisa completar cadastro financeiro, crie uma
[`onboarding_session`](/api-reference/onboarding-sessions/object) usando o
`organization`; ela devolve a URL hospedada para o vendedor concluir o
fluxo.

## Data Object

Este é o formato completo retornado em `create`, `get`, `update`, itens de
`list` e em `data.object` dos webhooks `organization.*`.

```json theme={}
{
  "id": "org_123",
  "object": "organization",
  "activation_status": "active",
  "activation_status_updated_at": "2026-05-16T14:20:00Z",
  "avatar_url": "https://storage.chargefy.io/file_NtkQ6yYhdBJrXlcw",
  "bank_account": {
    "id": "ba_123",
    "object": "bank_account",
    "account_number_last4": "5678",
    "bank_code": "001",
    "bank_name": "Banco Exemplo S.A.",
    "created_at": "2026-05-16T14:09:27Z",
    "holder_name": "Acme Ltda",
    "is_active": true,
    "is_verified": false,
    "livemode": true,
    "metadata": {},
    "routing_number": "0001",
    "type": "checking",
    "updated_at": "2026-05-16T14:20:00Z"
  },
  "billing_additional_info": null,
  "billing_address": {
    "city": "São Paulo",
    "country": "BR",
    "line1": "Av. Paulista, 1000",
    "line2": null,
    "postal_code": "01310-100",
    "state": "SP"
  },
  "billing_name": "Acme Ltda",
  "branding_settings": {
    "accent_color": "#FF6B00",
    "border_style": "rounded",
    "brand_color": "#1B1B1B",
    "font_family": "system",
    "theme": "light"
  },
  "created_at": "2026-05-16T14:09:27Z",
  "document": "12345678000190",
  "document_type": "cnpj",
  "email": "contato@meusite.com",
  "livemode": true,
  "metadata": {},
  "name": "Acme Ltda",
  "platform": "plat_456",
  "socials": [
    {
      "platform": "instagram",
      "url": "https://instagram.com/meusite"
    }
  ],
  "updated_at": "2026-05-16T14:20:00Z",
  "website": "https://meusite.com"
}
```

<ResponseField name="id" type="string">
  Identificador público da organização. Usa o prefixo `org_*`.
</ResponseField>

<ResponseField name="object" type="string">
  Sempre `"organization"`.
</ResponseField>

<ResponseField name="activation_status" type="string | null">
  Status financeiro da organização conectada: `activation_pending`, `pending`,
  `active` ou `disabled`. Fora de contexto de plataforma, vem `null`. `disabled`
  significa que o perfil financeiro atual não está apto; a organização pode
  iniciar uma nova tentativa de onboarding sem trocar de `org_*`.
</ResponseField>

<ResponseField name="activation_status_updated_at" type="string | null">
  Quando `activation_status` foi atualizado pela última vez.
</ResponseField>

<ResponseField name="avatar_url" type="string | null">
  URL pública do logo ou avatar, servida como file da Chargefy
  (`https://storage.chargefy.io/file_...`).
</ResponseField>

<ResponseField name="bank_account" type="object | null">
  Conta bancária ativa conectada à organização. É o campo recomendado para
  plataformas exibirem a conta cadastrada no admin do parceiro. Nunca inclui o
  número completo da conta; use `account_number_last4` para identificação.

  <Expandable title="Campos de bank_account">
    <ResponseField name="id" type="string">ID público da conta bancária (`ba_*`).</ResponseField>
    <ResponseField name="object" type="string">Sempre `"bank_account"`.</ResponseField>
    <ResponseField name="account_number_last4" type="string">Últimos 4 dígitos da conta.</ResponseField>
    <ResponseField name="bank_code" type="string">Código do banco.</ResponseField>
    <ResponseField name="bank_name" type="string | null">Nome do banco.</ResponseField>
    <ResponseField name="created_at" type="string | null">Data de criação em ISO 8601.</ResponseField>
    <ResponseField name="holder_name" type="string">Titular da conta.</ResponseField>
    <ResponseField name="is_active" type="boolean">Se esta é a conta ativa.</ResponseField>
    <ResponseField name="is_verified" type="boolean">Se a conta já foi verificada.</ResponseField>
    <ResponseField name="livemode" type="boolean">`true` em produção; `false` em ambiente de teste.</ResponseField>
    <ResponseField name="metadata" type="object">Metadata pública do objeto; atualmente `{}`.</ResponseField>
    <ResponseField name="routing_number" type="string">Agência ou identificador de roteamento.</ResponseField>
    <ResponseField name="type" type="string">`checking` ou `savings`.</ResponseField>
    <ResponseField name="updated_at" type="string | null">Data da última atualização em ISO 8601.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="billing_additional_info" type="string | null">
  Informação adicional de cobrança.
</ResponseField>

<ResponseField name="billing_address" type="object | null">
  Endereço de cobrança. Vem `null` quando não foi informado.

  <Expandable title="Campos de billing_address">
    <ResponseField name="line1" type="string | null">Rua, número e complemento principal.</ResponseField>
    <ResponseField name="line2" type="string | null">Complemento opcional.</ResponseField>
    <ResponseField name="city" type="string | null">Cidade.</ResponseField>
    <ResponseField name="state" type="string | null">Estado ou província.</ResponseField>
    <ResponseField name="postal_code" type="string | null">CEP ou código postal.</ResponseField>
    <ResponseField name="country" type="string | null">País em código ISO de 2 letras, como `BR`.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="billing_name" type="string | null">
  Nome ou razão social usada em cobranças.
</ResponseField>

<ResponseField name="branding_settings" type="object">
  Padrões visuais usados pela experiência hospedada da organização. Campos não
  configurados vêm como `null` e a página hospedada aplica o padrão do sistema.

  <Expandable title="Campos de branding_settings">
    <ResponseField name="brand_color" type="string | null">Cor de marca em hex `#RGB` ou `#RRGGBB`.</ResponseField>
    <ResponseField name="accent_color" type="string | null">Cor de destaque em hex `#RGB` ou `#RRGGBB`.</ResponseField>
    <ResponseField name="font_family" type="string | null">`system`, `inter`, `geist`, `bitter` ou `null`.</ResponseField>
    <ResponseField name="theme" type="string | null">`light`, `dark` ou `null`.</ResponseField>
    <ResponseField name="border_style" type="string | null">`pill`, `rounded`, `sharp` ou `null`.</ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="created_at" type="string">
  Data de criação em ISO 8601.
</ResponseField>

<ResponseField name="document" type="string | null">
  CPF ou CNPJ normalizado, apenas dígitos.
</ResponseField>

<ResponseField name="document_type" type="string | null">
  Tipo do documento: `cpf`, `cnpj` ou `null`.
</ResponseField>

<ResponseField name="email" type="string | null">
  E-mail principal da organização.
</ResponseField>

<ResponseField name="livemode" type="boolean">
  `true` em produção; `false` em ambiente de teste.
</ResponseField>

<ResponseField name="metadata" type="object">
  Metadata da relação plataforma↔organização conectada. Fora de contexto de
  plataforma, retorna `{}`.
</ResponseField>

<ResponseField name="name" type="string">
  Nome público da organização.
</ResponseField>

<ResponseField name="platform" type="string | null">
  ID da plataforma quando a leitura acontece em contexto de plataforma. Fora
  desse contexto, vem `null`.
</ResponseField>

<ResponseField name="socials" type="array">
  Lista de redes sociais no formato `{ platform, url }`.

  <Expandable title="Campos de socials[]">
    <ResponseField name="platform" type="string">
      Um de `x`, `github`, `facebook`, `instagram`, `youtube`, `linkedin` ou
      `other`.
    </ResponseField>

    <ResponseField name="url" type="string">
      URL pública do perfil.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="updated_at" type="string | null">
  Data da última atualização em ISO 8601.
</ResponseField>

<ResponseField name="website" type="string | null">
  Site público da organização.
</ResponseField>

## Operações

* [Listar organizations](/api-reference/organizations/list)
* [Criar organization](/api-reference/organizations/create)
* [Consultar organization](/api-reference/organizations/get)
* [Atualizar organization](/api-reference/organizations/update)

## Webhooks

Mudanças nesse objeto disparam os seguintes eventos de webhook:

* [`organization.created`](/api-reference/webhooks/organization.created)
* [`organization.updated`](/api-reference/webhooks/organization.updated)

O payload sempre carrega o objeto `organization` completo em `data.object`; eventos de update também incluem `data.previous_attributes` com os valores anteriores dos campos alterados.
