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

# Change company status

> Note that the status cannot be changed from `PENDING` and `PROCESSING` statuses.



## OpenAPI

````yaml /openapi/kyb.yaml post /kyb/companies/{id}/change-status/
openapi: 3.1.0
info:
  title: iDenfy IVS Core API
  version: 0.0.0
  description: iDenfy Identity Verification Service's Core API documentation.
  contact:
    name: API Support
    url: https://idenfy-ivs.atlassian.net/servicedesk/customer/portal/1/group/-1
  x-logo:
    url: /static/idenfy_logo.svg
    altText: iDenfy logo
servers:
  - url: https://ivs.idenfy.com
security: []
tags:
  - name: KYB Token
    description: KYB token endpoints to begin KYB flow.
  - name: KYB Forms
    description: Endpoints for KYB form actions.
  - name: KYB Documents
    description: KYB documents CRUD endpoints for the KYB form.
  - name: Beneficiaries
    description: Beneficiaries CRUD endpoints for the KYB form.
  - name: KYB Questionnaires
    description: KYB questionnaires endpoints.
  - name: Companies
    description: Endpoints for actions with companies.
  - name: Credit Bureau
    description: Endpoints for actions with credit bureau documents.
  - name: GOV Registers
    description: Endpoints for actions with GOV registers documents.
  - name: GOV Orders
    description: Endpoints for actions with GOV ordered documents.
  - name: SOS Reports
    description: Endpoints for actions with SOS filing documents.
  - name: Webhooks
    description: Webhooks.
externalDocs:
  description: For other/more docs on iDenfy services visit our main documentation page.
  url: https://documentation.idenfy.com
paths:
  /kyb/companies/{id}/change-status/:
    post:
      tags:
        - Companies
      summary: Change company status
      description: >-
        Note that the status cannot be changed from `PENDING` and `PROCESSING`
        statuses.
      operationId: kybCompaniesChangeStatusCreate
      parameters:
        - in: path
          name: id
          schema:
            type: string
          description: A unique value identifying this company.
          required: true
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CompanyStatusRequest'
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CompanyStatus'
          description: ''
      security:
        - apiKeyPair: []
components:
  schemas:
    CompanyStatusRequest:
      oneOf:
        - $ref: '#/components/schemas/NeedToStatusRequest'
        - $ref: '#/components/schemas/NeedToStatusRequest'
        - $ref: '#/components/schemas/CompletedStatusRequest'
      discriminator:
        propertyName: status
        mapping:
          NEED_TO_PROCESS:
            $ref: '#/components/schemas/NeedToStatusRequest'
          NEED_TO_REVIEW:
            $ref: '#/components/schemas/NeedToStatusRequest'
          COMPLETED:
            $ref: '#/components/schemas/CompletedStatusRequest'
    CompanyStatus:
      oneOf:
        - $ref: '#/components/schemas/NeedToStatus'
        - $ref: '#/components/schemas/NeedToStatus'
        - $ref: '#/components/schemas/CompletedStatus'
      discriminator:
        propertyName: status
        mapping:
          NEED_TO_PROCESS:
            $ref: '#/components/schemas/NeedToStatus'
          NEED_TO_REVIEW:
            $ref: '#/components/schemas/NeedToStatus'
          COMPLETED:
            $ref: '#/components/schemas/CompletedStatus'
    NeedToStatusRequest:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/KybStatusEnum'
    CompletedStatusRequest:
      type: object
      properties:
        status:
          allOf:
            - $ref: '#/components/schemas/KybStatusEnum'
          description: >-
            Setting this status is the same as a manual review through the
            dashboard.<br>In the end, the KYB review webhook is sent.
        reviewInfo:
          $ref: '#/components/schemas/ManualReviewRequest'
      required:
        - reviewInfo
    NeedToStatus:
      type: object
      properties:
        status:
          $ref: '#/components/schemas/KybStatusEnum'
    CompletedStatus:
      type: object
      properties:
        status:
          allOf:
            - $ref: '#/components/schemas/KybStatusEnum'
          description: >-
            Setting this status is the same as a manual review through the
            dashboard.<br>In the end, the KYB review webhook is sent.
        reviewInfo:
          $ref: '#/components/schemas/ManualReview'
      required:
        - reviewInfo
    KybStatusEnum:
      enum:
        - PENDING
        - PROCESSING
        - NEED_TO_PROCESS
        - NEED_TO_REVIEW
        - COMPLETED
      type: string
    ManualReviewRequest:
      oneOf:
        - $ref: '#/components/schemas/ManualApproveRequest'
        - $ref: '#/components/schemas/ManualDenyRequest'
      discriminator:
        propertyName: approvalStatus
        mapping:
          APPROVED:
            $ref: '#/components/schemas/ManualApproveRequest'
          DENIED:
            $ref: '#/components/schemas/ManualDenyRequest'
    ManualReview:
      oneOf:
        - $ref: '#/components/schemas/ManualApprove'
        - $ref: '#/components/schemas/ManualDeny'
      discriminator:
        propertyName: approvalStatus
        mapping:
          APPROVED:
            $ref: '#/components/schemas/ManualApprove'
          DENIED:
            $ref: '#/components/schemas/ManualDeny'
    ManualApproveRequest:
      type: object
      properties:
        approvalStatus:
          allOf:
            - $ref: '#/components/schemas/ApprovalStatusEnum'
          description: >-
            Review approval status.

            - Can not select this status if there are unreviewed AML statuses.

            - In the end, AML monitoring subjects are added according to account
            settings.
      required:
        - approvalStatus
    ManualDenyRequest:
      type: object
      properties:
        approvalStatus:
          allOf:
            - $ref: '#/components/schemas/ApprovalStatusEnum'
          description: Review approval status.
        denyReason:
          type: string
          nullable: true
          description: The reason why this KYB form was denied.
          maxLength: 64
      required:
        - approvalStatus
    ManualApprove:
      type: object
      properties:
        approvalStatus:
          allOf:
            - $ref: '#/components/schemas/ApprovalStatusEnum'
          description: >-
            Review approval status.

            - Can not select this status if there are unreviewed AML statuses.

            - In the end, AML monitoring subjects are added according to account
            settings.
        denyReason:
          type: string
          readOnly: true
          nullable: true
          description: The reason why this KYB form was denied.
      required:
        - approvalStatus
        - denyReason
    ManualDeny:
      type: object
      properties:
        approvalStatus:
          allOf:
            - $ref: '#/components/schemas/ApprovalStatusEnum'
          description: Review approval status.
        denyReason:
          type: string
          nullable: true
          description: The reason why this KYB form was denied.
          maxLength: 64
      required:
        - approvalStatus
    ApprovalStatusEnum:
      enum:
        - APPROVED
        - DENIED
      type: string
  securitySchemes:
    apiKeyPair:
      type: http
      scheme: basic
      description: >-
        The request must contain basic auth headers where username is *API key*
        and password is *API secret*.<br>

        In order for you to start using our API you will need an **API key** and
        **API secret**.<br>

        Both can be retrieved by contacting *iDenfy's support* or *iDenfy's
        sales team*.

````