swagger: '2.0'
info:
  x-ibm-name: ndis-pace-budget
  title: NDIS PACE Budget
  version: 5.0.0
  description: Request the PACE budget details for a provider
  contact:
    name: NDIA Support Team
    email: api.support@ndis.gov.au
schemes:
  - https
host: api.ndis.gov.au
basePath: /sharedservices/ndis-api/ndis/ext-int-part/5.0/pace/budget
consumes:
  - application/json
produces:
  - application/json
security:
  - clientIdHeader: []
securityDefinitions:
  clientIdHeader:
    type: apiKey
    in: header
    name: X-IBM-Client-Id
    description: 'apiKey provided during registration. Max Length(64). example: aa111aa-11a1-1a11-111a-1a1a11aa111a'
x-ibm-configuration:
  testable: true
  enforced: true
  cors:
    enabled: true
  phase: realized
  type: rest
  servers:
    - url: https://api.ndis.gov.au/sharedservices/ndis-api/ndis/ext-int-part/5.0/pace/budget
      description: ''
      type:
        - production
        - development
    - url: https://api.ndis.gov.au/sharedservices/ndis-api/ndis/ext-int-part/5.0/pace/budget
      description: ''
      type:
        - production
        - development
paths:
  /:
    get:
      responses:
        '200':
          description: 'Success: The request was successful'
          schema:
            $ref: '#/definitions/get_budget_response'
        '400':
          description: 'Bad Request: A validation resulted in the request being rejected.'
          schema:
            $ref: '#/definitions/http_error'
        '401':
          description: 'Unauthorised: No authentication credentials provided or authentication has failed.'
          schema:
            $ref: '#/definitions/http_error'
        '404':
          description: The URI path or the requested record was not found.
          schema:
            $ref: '#/definitions/http_error'
        '500':
          description: 'Internal Server Error: An internal error has occurred and the server is unable to respond.'
          schema:
            $ref: '#/definitions/http_error'
      tags:
        - GET
      operationId: get_budget
      summary: This operation will allow Plan Managers and Support Coordinators to retrieve the details of a PACE participant's current and historical budget.
      description: |-

        <b>Participant with PACE Plan</b></br>

        This API will allow Plan Managers and Support Coordinators to retrieve a PACE participant's budget details. Support Coordinators have full access and Plan Managers have limited access to the budget.

        This API supports PACE participants with the following budget type:
        1. PACE current budget with/without Funding Period
        2. PACE participants historical budget with/without Funding Period based on Plan Date 

        New participants created in PACE should use PACE NDIS Number.

        To get a successful response, please ensure that as a Plan Manager or Support Coordinator, you have:
        * Plan Manager or Support Coordinator relationship with the participant and authority/consent to view the participant's budget
        AND
        * Participant NDIS number
        * Date of Birth 
        * Last Name  
        * Plan Date (optional)

        <b>Note:</b> 
        * This API return PACE participant current budget details if no plan date is provided.
        * Plan Date is required to get the Historical Budget details, to get historical plan date details use Historical Plan API 
        * One historical budget record will be returned based on plan date 
        * Plan Date should be within the range of Plan Start and End Date
        * New PACE plans will have Budgets with funding periods at funding component level
        * Funding interval options can include 1, 3, 6 or 12 months or Null if any support category has been added additionally during the funding period
        * Core can be flexible or stated
        * Capital and Capacity Building will always be under Stated Budget type
      parameters:
        - $ref: '#/parameters/participant_surname'
        - $ref: '#/parameters/date_of_birth'
        - $ref: '#/parameters/plan_date'
    parameters:
      - $ref: '#/parameters/authorization'
      - $ref: '#/parameters/participant'
parameters:
  authorization:
    name: authorization
    type: string
    required: true
    in: header
    description: Bearer token
    x-example: valid Authorization Token
  participant:
    name: participant
    type: integer
    required: true
    in: header
    description: The participant NDIS ID for whom the service was provided. Max Length(10)
    x-example: 430111111
  participant_surname:
    name: participant_surname
    type: string
    required: true
    in: query
    description: Participant Last Name. Max Length(40)
    x-example: surname
  date_of_birth:
    name: date_of_birth
    type: string
    required: true
    in: query
    description: Date of Birth is captured on the login screen.
    format: date
  plan_date:
    name: plan_date
    type: string
    required: false
    in: query
    description: Plan Date is captured on the login screen.
    format: date
definitions:
  get_budget_overview_response:
    description: Response for Getting a budget overview
    properties:
      success:
        type: boolean
        example: true
      result:
        $ref: '#/definitions/get_budgets_overview_response_array'
      errors:
        $ref: '#/definitions/errors'
    additionalProperties: false
    required:
      - success
  get_budgets_overview_response_array:
    description: A set of budgets
    type: array
    items:
      $ref: '#/definitions/get_budget_overview_response_data'
  get_budget_overview_response_data:
    description: Fields of a budget used to Get it
    properties:
      support_type:
        type: string
        description: Support Type Codes (e.g ZCOR). Max Length(30)
        maxLength: 30
      support_type_text:
        type: string
        description: Support Type Description (e.g Core). Max Length(40)
        maxLength: 40
      approved_amount:
        type: number
        format: double
        description: The total budget for support type (e.g 1297.50). Max Length(P14, S2)
      spent_amount:
        type: number
        format: double
        description: The amount spent under the support type (e.g 0.000). Max Length(P14, S2)
      remaining_amount:
        type: number
        format: double
        description: The amount remaining under the suport type (e.g 1297.50). Max Length(P14, S2)
      support_categories:
        $ref: '#/definitions/get_support_categories_response_array'
    additionalProperties: false
  get_support_categories_response_array:
    description: A set of support_categories
    type: array
    items:
      $ref: '#/definitions/get_support_category_response_data'
  get_support_category_response_data:
    description: Fields of a support_category used to Get it
    properties:
      support_category:
        type: string
        description: Support Category Codes specific to the header Support Type (e.g DAILY_ACTIVITIES). Max Length(30)
      support_category_text:
        type: string
        description: Support Category Description specific to the header Support Type(e.g Daily Activities). Max Length(40)
      approved_amount:
        type: number
        format: double
        description: The total budget for the specific Support Category  (e.g 297.50). Max Length(P14, S2)
      spent_amount:
        type: number
        format: double
        description: The total spent under the specific Support Category (e.g 0.000). Max Length(P14, S2)
      remaining_amount:
        type: number
        format: double
        description: The total remaining for the specific Support Category (e.g 297.50). Max Length(P14, S2)
    additionalProperties: false
  get_budget_response:
    description: Response for Getting a budget
    properties:
      success:
        type: boolean
        example: true
      result:
        $ref: '#/definitions/get_budgets_response_data'
      errors:
        $ref: '#/definitions/errors'
    additionalProperties: false
    required:
      - success
  get_budgets_response_data:
    description: Fields of a budget used to Get it
    properties:
      released_amount:
        type: number
        format: double
        description: Released Amount under the specific Support Category.
        example: 1000.02
      spent_amount:
        type: number
        format: double
        description: The total spent under the specific Support Category
        example: 1000.02
      remaining_amount:
        type: number
        format: double
        description: Remaining amount under the specific Support Category
        example: 1000.02
      plan_start_date:
        type: string
        description: Plan Start Date
        format: date
        example: '2023-03-20'
      plan_end_date:
        type: string
        description: Plan End Date
        format: date
        example: '2026-03-20'
      approved_amount:
        type: number
        format: double
        description: The total budget for the specific Support Category
        example: 1000.02
      use_funding_periods:
        type: string
        description: Use Funding Periods
        example: Funding component
      bgt_typ_lvl_dtls:
        $ref: '#/definitions/get_bgt_typ_lvl_dtls_response_array'
    additionalProperties: false
  get_bgt_typ_lvl_dtls_response_array:
    description: Array - Budget Type Level Details
    type: array
    items:
      $ref: '#/definitions/get_bgt_typ_lvl_dtls_response_data'
  get_bgt_typ_lvl_dtls_response_data:
    description: Fields of Budget Type Level Details
    properties:
      start_date:
        type: string
        description: Start Date
        format: date
        example: '2022-03-20'
      end_date:
        type: string
        description: End Date
        format: date
        example: '2026-03-20'
      released_amount:
        type: number
        format: double
        description: Released amount
        example: 1000.02
      spent_amount:
        type: number
        format: double
        description: The amount spent under the support type
        example: 1000.02
      remaining_amount:
        type: number
        format: double
        description: Remanining amount under the suport type
        example: 1000.02
      budget_type_text:
        type: string
        description: Budget Type Text
        example: Stated
      approved_amount:
        type: number
        format: double
        description: The total budget for support type. Max Length(P14, S2)
        example: 1000.02
      plan_management:
        $ref: '#/definitions/get_plan_management_response_array'
    additionalProperties: false
  get_plan_management_response_array:
    description: Array - Plan Management
    type: array
    items:
      $ref: '#/definitions/get_plan_management_response_data'
  get_plan_management_response_data:
    description: Fields of plan management
    properties:
      start_date:
        type: string
        description: Start Date
        format: date
        example: '2023-03-20'
      end_date:
        type: string
        description: End Date
        format: date
        example: '2026-03-20'
      remaining_amount:
        type: number
        format: double
        description: The amount remanining under the support type
        example: 1000.02
      spent_amount:
        type: number
        format: double
        description: The amount spent under the support type
        example: 0
      released_amount:
        type: number
        format: double
        description: Released amount
        example: 1000.02
      approved_amount:
        type: number
        format: double
        description: Approved amount for support type
        example: 1000.02
      next_instalment_start_date:
        type: string
        description: Next instalment start date
        format: date
        example: '2023-03-20'
      next_instalment_end_date:
        type: string
        description: Next instalment end date
        format: date
        example: '2026-03-20'
      next_instalment_release_amount:
        type: number
        format: double
        description: Next instalment release amount
        example: 1000.02
      instalment_start:
        type: string
        description: Instalment start Date
        format: date
        example: '2023-03-20'
      instalment_end:
        type: string
        description: Instalment end Date
        format: date
        example: '2026-03-20'
      plan_management_text:
        type: string
        description: Plan Mangement Type Description
        example: Plan-Managed
      supp_typ_lvl_dtls:
        $ref: '#/definitions/get_supp_typ_lvl_dtls_response_array'
      funding_periods:
        $ref: '#/definitions/get_funding_periods_response_array'
    additionalProperties: false
  get_supp_typ_lvl_dtls_response_array:
    description: Array - Support Type level Total Budget Details
    type: array
    items:
      $ref: '#/definitions/get_supp_typ_lvl_dtls_response_data'
  get_supp_typ_lvl_dtls_response_data:
    description: Fields of Support Type level Total Budget Details
    properties:
      start_date:
        type: string
        description: Start Date
        format: date
        example: '2023-03-20'
      end_date:
        type: string
        description: End Date
        format: date
        example: '2026-03-20'
      released_amount:
        type: number
        format: double
        description: Released amount to the Support Type under Service Bookings
        example: 1000.02
      remaining_amount:
        type: number
        format: double
        description: The amount remanining under the suport type
        example: 1000.02
      approved_amount:
        type: number
        format: double
        description: The total budget for support type
        example: 1000.02
      spent_amount:
        type: number
        format: double
        description: The amount spent under the support type
        example: 0
      support_type_text:
        type: string
        description: Support Type Description
        example: Core
      supp_cat_lvl_dtls:
        $ref: '#/definitions/get_supp_cat_lvl_dtls_response_array'
    additionalProperties: false
  get_supp_cat_lvl_dtls_response_array:
    description: Array - Support Category level Total Budget Details
    type: array
    items:
      $ref: '#/definitions/get_supp_cat_lvl_dtls_response_data'
  get_supp_cat_lvl_dtls_response_data:
    description: Fields of Support Category level Total Budget Details
    properties:
      spent_amount:
        type: number
        format: double
        description: Spent amount
        example: 0
      remaining_amount:
        type: number
        format: double
        description: Remaining amount
        example: 1000.02
      next_instalment_start_date:
        type: string
        description: Next instalment start date
        format: date
        example: '2023-03-20'
      next_instalment_end_date:
        type: string
        description: Next instalment end date
        format: date
        example: '2026-03-20'
      next_instalment_release_amount:
        type: number
        format: double
        description: Next instalment release amount
        example: 1000.02
      instalment_type:
        type: string
        description: Instalment type
        example: Regular
      instalment_start:
        type: string
        description: Instalment start date
        format: date
        example: '2023-03-20'
      instalment_end:
        type: string
        description: Instalment end date
        format: date
        example: '2026-03-20'
      start_date:
        type: string
        description: Start Date
        format: date
        example: '2023-03-20'
      end_date:
        type: string
        description: End Date
        format: date
        example: '2026-03-20'
      created_date:
        type: string
        description: Created date
        format: date
        example: '2026-03-20'
      released_amount:
        type: number
        format: double
        description: Released amount
        example: 1000.02
      approved_amount:
        type: number
        format: double
        description: The total budget for the specific Support Category
        example: 1000.02
      support_category_text:
        type: string
        description: Support Category Description
        example: Increased Social and Community Participation
      support_category:
        type: string
        description: Support Category
        example: ''
      description:
        type: string
        description: Description
        example: description
      funding_component_name:
        type: string
        description: Funding component name
        example: Increased Social and Community Participation
      budget_status:
        type: string
        description: Budget status
        example: Budget available
      funding_periods:
        $ref: '#/definitions/get_funding_periods_response_array'
    additionalProperties: false
  get_funding_periods_response_array:
    description: Array - Funding periods array
    type: array
    items:
      $ref: '#/definitions/get_funding_periods_response_data'
  get_funding_periods_response_data:
    description: Funding period details
    properties:
      start_date:
        type: string
        description: Start Date
        format: date
        example: '2023-03-20'
      end_date:
        type: string
        description: End Date
        format: date
        example: '2026-03-20'
      duration:
        type: string
        description: duration
        example: 12 months
      amount:
        type: number
        format: double
        description: Amount
        example: 0
      released:
        type: string
        description: Released status
        example: true
    additionalProperties: false
  get_budget_sup_response:
    description: Response for Getting a budget
    properties:
      success:
        type: boolean
        example: true
      result:
        $ref: '#/definitions/get_budgets_sup_response_data'
      errors:
        $ref: '#/definitions/errors'
    additionalProperties: false
    required:
      - success
  get_budgets_sup_response_data:
    description: Fields of a budget used to Get it
    properties:
      participant_plan_id:
        type: integer
        description: Plan ID for which budget is required. Max Length(10)
        maxLength: 10
        example: 1010101
        format: int32
      plan_management:
        $ref: '#/definitions/get_plan_management_sup_response_array'
    additionalProperties: false
    required:
      - participant_plan_id
  get_plan_management_sup_response_array:
    description: Array - Plan Management
    type: array
    items:
      $ref: '#/definitions/get_plan_management_sup_response_data'
  get_plan_management_sup_response_data:
    description: Fields of plan management
    properties:
      plan_management:
        type: string
        description: Plan Management type - Self,Plan or Agency. Max Length(30)
        maxLength: 30
        example: ZCOR_PLAN
      plan_management_text:
        type: string
        description: Plan Mangement Type Description. Max Length(1333)
        maxLength: 1333
        example: Core Plan Managed
      supp_typ_lvl_dtls:
        $ref: '#/definitions/get_supp_typ_lvl_dtls_sup_response_array'
    additionalProperties: false
  get_supp_typ_lvl_dtls_sup_response_array:
    description: Array - Support Type level Total Budget Details
    type: array
    items:
      $ref: '#/definitions/get_supp_typ_lvl_dtls_sup_response_data'
  get_supp_typ_lvl_dtls_sup_response_data:
    description: Fields of Support Type level Total Budget Details
    properties:
      support_type:
        type: string
        description: Support Type Codes. Max Length(30)
        maxLength: 30
        example: ZCOR
      support_type_text:
        type: string
        description: Support Type Description. Max Length(1333)
        maxLength: 1333
        example: Core
      approved_amount:
        type: number
        format: double
        description: The total budget for support type. Max Length(P14, S2)
        example: 1000.02
      spent_amount:
        type: number
        format: double
        description: The amount spent under the support type. Max Length(P14, S2)
        example: 0
      remaining_amount:
        type: number
        format: double
        description: The amount remanining under the suport type. Max Length(P14, S2)
        example: 1000.02
      supp_cat_lvl_dtls:
        $ref: '#/definitions/get_supp_cat_lvl_dtls_sup_response_array'
    additionalProperties: false
  get_supp_cat_lvl_dtls_sup_response_array:
    description: Array - Support Category level Total Budget Details
    type: array
    items:
      $ref: '#/definitions/get_supp_cat_lvl_dtls_sup_response_data'
  get_supp_cat_lvl_dtls_sup_response_data:
    description: Fields of Support Category level Total Budget Details
    properties:
      support_category:
        type: string
        description: Support Category Code. Max Length(30)
        maxLength: 30
        example: CONSUMABLES
      support_category_text:
        type: string
        description: Support Category Description. Max Length(1333)
        maxLength: 1333
        example: Consumables
      approved_amount:
        type: number
        format: double
        description: The total budget for the specific Support Category  (e.g 297.50). Max Length(P14, S2)
        example: 1000.02
      spent_amount:
        type: number
        format: double
        description: The total spent under the specific Support Category (e.g 0.000). Max Length(P14, S2)
        example: 0
      remaining_amount:
        type: number
        format: double
        description: The total remaining for the specific Support Category (e.g 297.50). Max Length(P14, S2)
        example: 1000.02
      supp_itm_lvl_dtls:
        $ref: '#/definitions/get_supp_itm_lvl_dtls_sup_response_array'
    additionalProperties: false
  get_supp_itm_lvl_dtls_sup_response_array:
    description: Array - Support Item level Total Budget Details
    type: array
    items:
      $ref: '#/definitions/get_supp_itm_lvl_dtls_sup_response_data'
  get_supp_itm_lvl_dtls_sup_response_data:
    description: Fields of Support Item level Total Budget Details
    properties:
      item_type:
        type: string
        description: Stated, Quoted, In-kind Items. Max Length(54)
        maxLength: 54
        example: ''
      item:
        type: string
        description: Stated, Quoted, In-kind Items. Max Length(54)
        maxLength: 40
        example: ''
      approved_amount:
        type: number
        format: double
        description: The total budget for the specific Support Category  (e.g 297.50). Max Length(P14, S2)
        example: 0
      spent_amount:
        type: number
        format: double
        description: The total spent under the specific Support Category (e.g 0.000). Max Length(P14, S2)
        example: 0
      remaining_amount:
        type: number
        format: double
        description: The total remaining for the specific Support Category (e.g 297.50). Max Length(P14, S2)
        example: 0
      quoteable_item:
        type: boolean
        description: Flag to identify if quote required.
      quote_approved:
        type: boolean
        description: Flag to identify if quote approved.
      in_kind:
        type: boolean
        description: Flag for in-kind item.
    additionalProperties: false
  errors:
    description: A set of errors
    type: array
    items:
      type: string
      example: error
  http_error:
    description: A single HTTP response
    properties:
      http_code:
        type: string
        example: 400
        description: HTTP status code
      http_message:
        type: string
        example: Bad Request
        description: HTTP Message
      more_information:
        type: string
        example: One or more required API parameters are missing.
        description: Additional information
    additionalProperties: false
tags: []
