> ## Documentation Index
> Fetch the complete documentation index at: https://conductorone-eu-instance.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Spend Remedy Task

> Request a precise spending change for a refusal delivered to this caller.
 Repeated submissions return the canonical task; personal app restrictions need no approval.



## OpenAPI

````yaml https://spec.speakeasy.com/conductor-one/conductorone/my-source-with-code-samples post /api/v1/task/spend-remedy
openapi: 3.1.0
info:
  description: The C1 API is a HTTP API for managing C1 resources.
  title: C1 API
  version: 0.1.0-alpha
servers:
  - description: The C1 API server for the current tenant.
    url: https://{tenantDomain}.conductor.one
    variables:
      tenantDomain:
        default: example
        description: The domain of the tenant to use for this request.
security:
  - bearerAuth: []
    oauth: []
paths:
  /api/v1/task/spend-remedy:
    post:
      tags:
        - Task
      summary: Create Spend Remedy Task
      description: >-
        Request a precise spending change for a refusal delivered to this
        caller.
         Repeated submissions return the canonical task; personal app restrictions need no approval.
      operationId: c1.api.task.v1.TaskService.CreateSpendRemedyTask
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/c1.api.task.v1.TaskServiceCreateSpendRemedyRequest
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/c1.api.task.v1.TaskServiceCreateSpendRemedyResponse
          description: Successful response
components:
  schemas:
    c1.api.task.v1.TaskServiceCreateSpendRemedyRequest:
      description: >
        TaskServiceCreateSpendRemedyRequest requests a scoped change through the
        configured policy.
         Beneficiary, operation and authority are derived from the caller's verified refusal.

        This message contains a oneof named requested_change. Only a single
        field of the following list may be set at a time:
          - personalExtension
          - sharedIncrease
          - resume
      properties:
        appId:
          description: >-
            Narrows delivered audience proof. An APP-scoped refusal may supply
            this
             context; other scopes require it. The verified receipt determines the app.
          type: string
        blockId:
          description: The blockId field.
          type: string
        personalExtension:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.task.v1.SpendRemedyPersonalExtensionRequest
            - type: 'null'
        predecessorTaskId:
          description: Explicit reconsideration names the current closed request.
          type: string
        reason:
          description: The reason field.
          type: string
        resume:
          oneOf:
            - $ref: '#/components/schemas/c1.api.task.v1.SpendRemedyResumeRequest'
            - type: 'null'
        sharedIncrease:
          oneOf:
            - $ref: >-
                #/components/schemas/c1.api.task.v1.SpendRemedySharedIncreaseRequest
            - type: 'null'
      title: Task Service Create Spend Remedy Request
      type: object
      x-speakeasy-name-override: TaskServiceCreateSpendRemedyRequest
    c1.api.task.v1.TaskServiceCreateSpendRemedyResponse:
      description: The TaskServiceCreateSpendRemedyResponse message.
      properties:
        task:
          oneOf:
            - $ref: '#/components/schemas/c1.api.task.v1.TaskRef'
            - type: 'null'
      title: Task Service Create Spend Remedy Response
      type: object
      x-speakeasy-name-override: TaskServiceCreateSpendRemedyResponse
    c1.api.task.v1.SpendRemedyPersonalExtensionRequest:
      description: A proposed personal replacement total and absolute expiration.
      properties:
        expiresAt:
          format: date-time
          type:
            - string
            - 'null'
        total:
          oneOf:
            - $ref: '#/components/schemas/c1.api.funds.v1.Money'
            - type: 'null'
      title: Spend Remedy Personal Extension Request
      type: object
      x-speakeasy-name-override: SpendRemedyPersonalExtensionRequest
    c1.api.task.v1.SpendRemedyResumeRequest:
      description: Resume carries no monetary terms or expiration.
      title: Spend Remedy Resume Request
      type: object
      x-speakeasy-name-override: SpendRemedyResumeRequest
    c1.api.task.v1.SpendRemedySharedIncreaseRequest:
      description: A proposed shared replacement total, never an additive credit.
      properties:
        total:
          oneOf:
            - $ref: '#/components/schemas/c1.api.funds.v1.Money'
            - type: 'null'
      title: Spend Remedy Shared Increase Request
      type: object
      x-speakeasy-name-override: SpendRemedySharedIncreaseRequest
    c1.api.task.v1.TaskRef:
      description: This object references a task by ID.
      properties:
        id:
          description: The ID of the referenced Task
          type: string
      title: Task Ref
      type: object
      x-speakeasy-name-override: TaskRef
    c1.api.funds.v1.Money:
      description: Money is a non-negative monetary value used by spending controls.
      properties:
        currencyCode:
          description: ISO 4217 currency code.
          type: string
        nanos:
          description: Fractional nano-units, from zero through 999999999.
          format: int32
          type: integer
        units:
          description: >-
            Whole currency units. The bound keeps nano-unit conversion within
            int64.
          format: int64
          type: string
      title: Money
      type: object
      x-speakeasy-name-override: FundsMoney
  securitySchemes:
    bearerAuth:
      scheme: bearer
      type: http
    oauth:
      description: >-
        This API uses OAuth2 with the Client Credential flow.

        Client Credentials must be sent in the BODY, not the headers.

        For an example of how to implement this, refer to the
        [c1TokenSource.Token()](https://github.com/ConductorOne/conductorone-sdk-go/blob/3375fe7c0126d17e7ec4e711693dee7b791023aa/token_source.go#L101-L187)
        function.
      flows:
        clientCredentials:
          scopes: {}
          tokenUrl: /auth/v1/token
      type: oauth2

````